aboutsummaryrefslogtreecommitdiff
gnunet-guile
============

Guile (version 2.2+) bindings for GNUnet.

Installation
------------

Install a recent gnunet using the following command:

  $ guix package -f guix.scm

Then use the usual cli dance:

  $ ./bootstrap && ./configure && make

Usage
-----

You must first run gnunet services with the following command:

  $ gnunet-arm -c etc/p2.conf -s

Then you can publish a file with the following command:

  $ echo "Héllo, world!" > hello
  $ ./pre-inst-env ./gnunet-guile publish etc/p2.conf hello hello

This will publish the hello file under the hello keyword.

You can download it using the URI given in the output for instance:

  $ ./pre-inst-env ./gnunet-guile download etc/p2.conf gnunet://fs/chk/QBZFVRKCKAW95XW5ZB33QKHNR25S5SV3JWC0RKZ53DKH1J6B0YRC0F185KVPWPRB0M8PZDYK8QMDRM0F56RNQ94NSA2E8YVRZWQQQ4G.RHKB5KF1G8SRV610AMSJ7K5XH66T3F5J53JW2BWFXJXJXGB919AJRYF6FD2HKSKT6QDN2BF3D1XS307WY3DBS92FN7WX9HQQ1MP3P40.15 out.txt

You can lookup the files that are tagged as 'hello' with the following
commmand:

 $ ./pre-inst-env ./gnunet-guile search etc/p2.conf hello

Use Ctrl+C to kill the search command.