[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNUnet-developers] gnunet-go: Milestone #1 reached
From: |
Devan Carpenter |
Subject: |
Re: [GNUnet-developers] gnunet-go: Milestone #1 reached |
Date: |
Wed, 18 Sep 2019 16:53:34 -0700 |
Hello Bernd!
Bernd Fix transcribed 3.7K bytes:
> =========================================
> GNUnet-Go: Status report for Milestone #1
> =========================================
>
> I am happy to announce the completion of the first milestone for the
> GNUnet-Go project. The objective was to implement a simple
> GNUnet-compatible GNS service in Go that can do non-recursive resolution
> of names.
Thank you for all the work you've put into this. This is really
impressive to see, and I believe it's an important milestone not only
for the Go implementation, but for the whole GNUnet project as well.
> If you want to check out for yourself, here is how to do it on a Linux box:
>
> (1) A running GNUnet node:
> --------------------------
> Something all of you should have already... ;) You should also have
> created a GNS zone with some names and records in it.
>
> (2) Install Go1.13 on you computer:
> -----------------------------------
> Either install a binary version at https://golang.org/dl/ or compile
> from sources after cloning the Git repository
> https://github.com/golang/go. Make sure the required environment
> variables are setup correctly (check with 'set | grep "^GO"' for
> meaningful settings).
>
> (3) Install required dependencies:
> ----------------------------------
> $ go get -u golang.org/x/crypto/...
> $ go get -u golang.org/x/text/...
> $ go get -u github.com/bfix/gospel/...
>
> (4) Clone the gnunet-go repository and compile:
> -----------------------------------------------
> $ git clone https://gnunet.org/git/gnunet-go.git
> $ cd gnunet-go
> $ ./build.sh
>
> (5) Run the gnunet-go-gns service:
> ----------------------------------
>
> * The executable 'gnunet-service-gns-go' is found in the bin/ folder;
> copy it anywhere you like - it does not have dependencies (statically
> linked).
>
> * Copy the file "<repo>/src/config/gnunet-config.json" to the folder you
> want to use as the working directory for the service. This is the config
> file for Go-based GNUnet services. You can look at it (it is very small
> at the moment), but there should be no need to change something.
>
> * Start the service from the working directory; it will create a new
> socket 'gnunet-service-gns-go.sock' for message exchange (requests). The
> service will run as a foreground process and output log messages
> directly to the console (best to run it in a separate screen).
>
> * Create a small new GNUnet config file to tell GNUnet utilities which
> GNS socket to use; we want them to use our new socket. Easiest is to
> copy the existing gnunet.conf to gnunet-go.conf and add the following entry:
>
> [gns]
> UNIXPATH=/tmp/gnunet-system-runtime/gnunet-service-gns-go.sock
>
> Don't change the master gnunet.conf as it will for sure break your
> existing GNUnet node!
>
> * Do name resolution with the Go-based GNS service:
> $ gnunet-gns -t ANY -u myname.myzone -c gnunet-go.conf
I built and ran the service and it worked as expected!
I used Go 1.12 by the way, and didn't experience any issues.
> The next milestone will handle recursive lookups.
>
> Cheers, Bernd.
Keep up the good work!
Cheers,
Devan
signature.asc
Description: PGP signature