gnunet-gns-registrar

GNU Name System registrar
Log | Files | Refs | README

README.md (3179B)


      1 # Build
      2 
      3 You can compile the binary using:
      4 
      5 ```
      6 $ go build ./cmd/gns-registrar
      7 ```
      8 
      9 # Running
     10 
     11 Edit the file ```gns-registrar.conf``` to fit your needs:
     12 
     13 ```
     14 [gns-registrar]
     15 production = false                      # Set if this is a production deployment. Currently unused.
     16 base_url = http://localhost:11000       # The base URL your service is reachable under. 
     17 base_url_gnunet = http://localhost:7776 # The base URL your GNUnet REST service is reachable under.
     18 basic_auth_gnunet_enabled = true        # Does the GNUnet REST service require authentication. 
     19 basic_auth_gnunet_username = jdoe       # Basic authentication username for GNUnet REST service. 
     20 basic_auth_gnunet_password = secret     # Basic authentication password for GNUnet REST service. 
     21 base_url_merchant = https://backend.demo.taler.net  # The Taler merchant REST API base URL. 
     22 merchant_token = sandbox                            # The Taler merchant REST API authentication token. 
     23 bind_to = localhost:11000                           # The IP:PORT to bind to. 
     24 landing_template = web/templates/landing.html       # The landing page template file. 
     25 name_template = web/templates/name.html             # The name information page template file. 
     26 edit_template = web/templates/edit.html             # The registration management template file. 
     27 buy_template = web/templates/buy.html               # The checkout page template file. 
     28 suffix_hint = example.alt                           # The self-advertised suffix for the zone. 
     29 payment_required_expiration = 1h                    # The time the user is given to complete the payment for a registration. 
     30 relative_delegation_expiration = 24h                # For how long a name registration record is valid/cached in GNS. 
     31 registration_duration_days = 5                      # For how many days is a name registered (or a registration extended). 
     32 registration_cost = KUDOS:0.3                       # The cost to register a name for the duration of ```registration_expiration```. 
     33 order_summary_template = "Registration of `${NAME}' at GNUnet FCFS registrar" # Template for the order summary displayed to the user. May contain the placeholder ```${NAME}``` for the registered name.
     34 root_zone_name = test                               # The GNS zone name to use. 
     35 valid_label_regex = ""                              # The regex to check to verify the validity of a name. Ignored if set to ```""```. 
     36 valid_label_script = ""                             # The script to use to check to verify the validity of a name. Script will be executed with the label as the first command line parameter. Ignored if set to ```""```. 
     37 ```
     38 
     39 Make sure your GNUnet node is running, including the rest service.
     40 Configure the GNUnet rest service base URL and authentication.
     41 In particular, also setup a GNS zone and configure the zone name.
     42 Make sure your Taler merchant is running and configure the merchant REST service base URL and authentication.
     43 Then, execute:
     44 
     45 ```
     46 $ ./gns-registrar
     47 ```
     48 # TODOs
     49 
     50    * Subscription management:
     51       
     52       * Refunds (requires unique registration token)
     53       * Modification of registered delegation value (requires unique registration token)