gnunet-gns-registrar

GNU Name System registrar
Log | Files | Refs | README

commit 0ebeb2c197f8fc45101862b960ce629d7c9be6f3
parent 409d8ad2781793b1737abfd1d95c931d5ab91bb8
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Mon, 11 Dec 2023 10:57:52 +0100

Add README

Diffstat:
AREADME.md | 45+++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -0,0 +1,45 @@ +# Build + +You can compile the binary using: + +``` +$ go build ./cmd/gns-registrar +``` + +# Running + +Edit the file ```gns-registrar.conf``` to fit your needs: + + * ```base_url```: The base URL your service is reachable under. (Default: ```"http://localhost:11000"```) + * ```base_url_gnunet```: The base URL your GNUnet REST service is reachable under. (Default: ```"http://localhost:7776"```) + * ```basic_auth_gnunet_enabled```: Does the GNUnet REST service require authentication. (Default: ```true```) + * ```basic_auth_gnunet_username```: Basic authentication username for GNUnet REST service. (Default: ```"jdoe"```) + * ```basic_auth_gnunet_password```: Basic authentication password for GNUnet REST service. (Default: ```"secret"```) + * ```base_url_merchant```: The Taler merchant REST API base URL. (Default: ```"https://backend.demo.taler.net"```) + * ```merchant_token```: The Taler merchant REST API authentication token. (Default: ```sandbox```) + * ```bind_to```: The IP:PORT to bind to. (Default: ```"localhost:11000"```) + * ```registrar_landing```: The landing page template file. (Default: ```"web/templates/landing.html"```) + * ```registrar_name```: The name information page template file. (Default: ```"web/templates/name.html"```) + * ```root_zone_name```: The GNS zone name to use. (Default: ```"test"```) + * ```suffix_hint```: The self-advertised suffix for the zone. (Default: ```"example.alt"```) + * ```payment_required_expiration```: The time the user is given to complete the payment for a registration. (Default: ```"1h"```) + * ```relative_delegation_expiration```: For how long a name registration record is valid/cached in GNS. (Default: ```"24h"```) + * ```registration_expiration```: For how long a name can be registered. (Default: ```"120h"```) + * ```registration_cost```: The cost to register a name for the duration of ```registration_expiration```. (Default: ```"KUDOS:0.3"```) + * ```order_summary_template```: Template for the order summary displayed to the user. May contain the placeholder ```${NAME}``` for the registered name. (Default: ```"Registration of `${NAME}' at GNUnet FCFS registrar"```) + +Make sure your GNUnet node is running, including the rest service. +Configure the GNUnet rest service base URL and authentication. +In particular, also setup a GNS zone and configure the zone name. +Make sure your Taler merchant is running and configure the merchant REST service base URL and authentication. +Then, execute: + +``` +$ ./gns-registrar +``` +# TODOs + + * Subscription management: + + * Refunds (requires unique registration token) + * Modification of registered delegation value (requires unique registration token)