alright so, i see a way forward, don't wanna lose my momentum here. the experiment is as follows,
the basic point of this test is to play with the 'time' tools available in libgnunetutil,
one user will request the time
another user 'should' perform the work (of computing the time)
the original user compares the network time to the local computation in order to account for errors
i'm doing a local
multi user setup. so i have 3 users: "bob", chad, and gnunet
user gnunet runs 'the main thing', while bob and chad are trying to talk to each other over the network
user gnunet's home is /var/lib/gnunet, in there is a file gnunet.conf which reads
[PATHS]
GNUNET_HOME = ~/.local/share/gnunet
[arm]
START_SYSTEM_SERVICES = YES
START_USER_SERVICES = NO
[core]
ENABLED = YES
[transport]
ENABLED = YES
[nat]
ENABLED = YES
[peerstore]
ENABLED = YES
[statistics]
ENABLED = YES
[hostlist]
OPTIONS = -b -e
SERVERS = http://v10.gnunet.org/hostlist
# HOSTLISTFILE = $SERVICEHOME/hostlists.file
start with ```
gnunet-arm -c gnunet.conf -s```
the 'bootstrapping' to the network requires that hostlist... need to make a better check for bootstrapping (and eventually figure out how to self-host ad-hoc etc).
users "bob" and chad's config are the same
[arm]
START_SYSTEM_SERVICES = NO
START_USER_SERVICES = YES
[datastore-mysql]
CONFIG = /home/bob/.config/gnunet/gnunet.conf
[hostlist]
OPTIONS = -b -e
[gns]
FORCESTART = YES
[PATHS]
DEFAULTCONFIG = ~/.config/gnunet.conf
LIBEXECDIR = /usr/lib/x86_64-linux-gnu/gnunet/libexec/
DOCDIR = /usr/share/doc/gnunet/
ICONDIR = /usr/share/icons/
LOCALEDIR = /usr/share/locale/
PREFIX = /usr/
BINDIR = /usr/bin/
LIBDIR = /usr/lib/x86_64-linux-gnu/gnunet/
DATADIR = /usr/share/gnunet/
bob and chad start with ```
gnunet-arm -c ~/.config/gnunet.conf -s```
now, with
every command the user has to specificly pass ```
-c ~/.config/gnunet.conf ```
also, it is important to set up logs and call logs in
each command; this is the step where i am realisticly "at" "rn atm", what i'm noticing is that i need a console of sorts
that being so makes cli interface also not intuitive to work with, or very extensive, and following along with the docs tell you to call for things that simply no longer exist, i think it makes sense to just call functions mapped to tiny programs with bash scripts
what's actually going on there is kind of a black box atm, with stuff being sent to core and then core 'figures out' routing...
the higher-level part of this test is to calculate JD (Julian Date) or do astronomical calulations
those are based off of lat & long of the observer, passing
that info to the peer would break anonimity naturally, however for the purposes of testing connectivity, you could anonymously pass along the '
effort', the '
do work', '
evaluate a function' portion
that is a better test for this,
the way i interpret the available data, i guess, than ping
this specific application may turn out as a bust overall but its a test that will lead to some feedback that will inform the next subsequent tests
another high priority gizmo i'm eventually aiming for is to allow
the dillo browser capability to access gnunet:// content
i'm praying that it'd be as easy as building dillo against a socks5 proxy library, but we'll see. i've seen dillo work with dat:// and ipfs, there is also a gemini plugin...
recent successes here
gnunet-messenger basic connectivity, room creation and join, would like to automate / incorporate message passing into some larger project
i created one 'ego' using
```
gnunet-identity -C <name> -X```
-X generate an EdDSA identity.
then say
```
gnunet-identity --display```
then i hosted one file 'on it' using fs, but the steps used to replicate it... i still need to 'get it' on the other peer to understand better sense-wise, and you get some large chk hash to go with it
eh anyway the early internet was interested people poking at the network, i'm animated by the same spirit, plus we have the benefit of already having an internet to look up technical specifications...