Duniter Commands
Here is a guide to the different commands of the duniter
command-line executable.
Foreword
These commands should be executed by the user that will actually run the node. For example, if you use systemd to automatically run your node on startup, it will run under the user duniter
. In that case, the commands below should be run as follow:
sudo -u duniter <cmd>
Initialize its node
wizard key
Lets you configure the cryptographic keychain used by your node. It is through this trousseau that your node can be identified and its answers authenticated, verified.
This keychain consists of a private key and a public key Ed25519.
duniter wizard key
? Modify you keypair? Yes
? Key's salt *****************
? Key's password ********************
wizard network
Allows you to configure your node's network connectivity: both local (network interface and machine port on which to connect) and distance (declaration of your node on how to contact it from the Internet).
duniter wizard network
? IPv4 interface: eth0 192.168.1.667
? IPv6 interface: eth0 2a01: e35: 8ae7: 8bb0: 3de1: ee66: a6ba: a438 (Global)
? Port: 10900
? Remote IPv4: 88.174.120.187
? Remote port: 10900
? UPnP is available: use automatic port mapping? (Easier) Yes
? Does this server have a DNS name? Yes
? DNS name: cgeek.fr
Obviously, you must put your own values here, and therefore do not put "192.168.1.667" or "2a01:e35:8ae7:8bb0:3de1:ee66:a6ba:a438" or "cgeek.fr".
sync
For a new or deleted node (for example, following the use of reset data
), it is necessary to initialize its node by synchronizing an existing blockchain. This operation will download the blockchain and then extract all the data of the currency: canvas of trust, existing currency units, transactions.
Synchronize its node with the network Ğ1 (Duniter currency):
duniter sync g1.duniter.org:443
Progress:
download: [|||| ] 23%
Apply: [] 0%
This command takes time. Be patient.
Option --nointeractive
Disables the display with progress bars in favor of a conventional control output.
duniter sync g1.duniter.org:443
2017-04-10T08: 31: 42 + 02: 00 - info: Try with g1.duniter.org:10901 4aCqwi
2017-04-10T08: 31: 42 + 02: 00 - info: Sync started.
2017-04-10T08: 31: 42 + 02: 00 - info: Getting remote blockchain info ...
2017-04-10T08: 31: 42 + 02: 00 - info: Connecting to g1.duniter.org ...
2017-04-10T08: 31: 42 + 02: 00 - info: Peers ...
Option --nopeers
Disables P2P downloading and downloading of network node listing.
duniter sync g1.duniter.org:443
2017-04-10T08: 32: 26 + 02: 00 - info: Try with g1.duniter.org:10901 4aCqwi
2017-04-10T08: 32: 26 + 02: 00 - info: Sync started.
2017-04-10T08: 32: 26 + 02: 00 - info: Getting remote blockchain info ...
2017-04-10T08: 32: 26 + 02: 00 - info: Connecting to g1.duniter.org ...
2017-04-10T08: 32: 26 + 02: 00 - info: Downloading Blockchain ...
2017-04-10T08: 32: 26 + 02: 00 - debug: dl starts from 0
2017-04-10T08: 32: 26 + 02: 00 - info: Getting chunck # 36/36 from 9000 to 9023 on peer g1.duniter.org:10901
2017-04-10T08: 32: 26 + 02: 00 - info: GOT chunck # 36/36 from 9000 to 9023 on peer g1.duniter.org:10901
Option --onlypeers
Retrieves only peer information, does not retrieve block information.
Option --cautious
Force the careful verification of the validity of each block in relation to the rules of the protocol.
duniter sync g1.duniter.org:443 --cautious
Option --memory
Perform synchronization in memory only. Synchronization will not be stored on the hard disk. This option is useful for a quick blockchain integrity check when combined with the --cautious
option.
duniter sync g1.duniter.org:443 --cautious --memory
Start / Stop its node
A Duniter node usually runs in the background. Duniter provided several commands in order to be started / stopped in disputes operating modes.
start
Starts the Duniter node * without GUI *, in the background. The only way to communicate with the node as an administrator is to see its logs with duniter logs
.
duniter start
Starting duniter_default daemon ...
duniter_default daemon started. PID: 1328
stop
Stop a Duniter knot that would turn in the background. If no node is running, the command does nothing.
duniter stop
Stopping duniter_default daemon ...
duniter_default daemon stopped.
status
Says whether the node is currently running in the background or not.
duniter status
duniter is running using PID 1832.
restart
Shortcut for stop
followed by start
. If no node was started, the command is equivalent to a simple start
.
duniter restart
duniter_default daemon is not running
Starting duniter_default daemon ...
duniter_default daemon started. PID: 1913
webstart
Starts the Duniter node with GUI in the background.
The node is then graphically accessible at localhost:9220.
duniter webstart
Starting duniter_default daemon ...
duniter_default daemon started. PID: 2878
Option --webmhost
It is possible to replace the interface localhost
with the interface of your choice.
duniter webstart --webmhost 192.168.1.35
The node is then accessible graphically at the address http://192.168.1.35:9220.
Option --webmport
You can replace the 9220
port with the port of your choice.
duniter webstart --webmport 9330
The node can then be accessed graphically at http://localhost:9330.
webrestart
Shortcut for stop
followed by webstart
. If no node was launched, the command is equivalent to a simple webstart
.
The node is then graphically accessible at localhost:9220.
dunter webrestart
Stopping duniter_default daemon ...
duniter_default daemon stopped.
Starting duniter_default daemon ...
duniter_default daemon started. PID: 2938
Administration
direct_start
Starts the live node, without running in the background. The logs of the application will appear live in the console.
To stop the node, perform the Ctrl^C
key combination.
duniter direct_start
2017-04-10T11: 12: 28 + 02: 00 - info: >> Server starting ...
2017-04-10T11: 12: 28 + 02: 00 - info: Node version: 1.2.1
2017-04-10T11: 12: 28 + 02: 00 - info: Node pubkey: 2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ
Option --keyprompt
Requests secret identifiers at application startup that will generate the cryptographic keychain in memory. This keychain will then be used for the duration of the application and will disappear when it stops.
A useful option for not storing your keychain in a file.
duniter direct_start --keyprompt
direct_webstart
Same as direct_start
, but starts with the loaded GUI.
duniter direct_webstart
reset data
Removes all data from the node: blockchain, identities, transactions, and so on. Does not delete the configuration.
duniter reset data
reset all
Removes all data and configuration from the node. Equivalent to having a new installation.
duniter reset all
logs
Displays the last log lines of Duniter and displays the new lines continuously.
duniter logs
config
Allows you to change one or more configuration values by options.
duniter config --option1 <value1> --option2 --option3 <value3>
Requires a restart of the node so that the new configuration is taken into account.
Option --upnp
Enables UPnP.
duniter config --upnp
Option --noupnp
Disable UPnP.
duniter config --noupnp
Option --cpu <percentage>
Sets the percentage of available CPU.
duniter config --cpu 0.5
Configures CPU usage at 50%.
Option --ipv4 <address>
Configures the IPv4 network interface of the machine to which to talk.
duniter config --ipv4 192.168.1.22
Configures listening on the network interface 192.168.1.22
.
Option --ipv6 <address>
Configures the IPv6 network interface of the machine to which to talk.
duniter config --ipv6 "2a01:e35:8ae7:8bb0:2e0:4cff:feca:36"
Configures listening on the network interface to 2a01:e35:8ae7:8bb0:2e0:4cff:feca:36`.
Option --port <number>
Configures the port of the machine on which to interact for each interface (IPv4, IPv6).
duniter config --port 10901
Configures listening on the 10901
machine port.
Option --remote4 <address>
Configures the remote IPv4 address of the machine.
duniter config --ipv4 88.174.120.187
Configures the node to declare itself available at 88.174.120.187.
Option --remote6 <address>
Configures the remote IPv6 address of the machine.
duniter config --ipv6 2a01:e35:8ae7:8bb0:2e0:4cff:feca:36
Configures the node to declare itself available at address 2a01:e35:8ae7:8bb0:2e0:4cff:feca:36
.
Option --remotep <address>
Configures the remote port of the machine.
duniter config --remotep 10901
Configures the node to declare itself available on the 10901
port.
Option --addep <specification>
Declares a new unknown network interface interface from Duniter.
duniter config --addep "ES_CORE_API g1.data.duniter.fr"
Caution: this command must be executed on a single node: all unknown interfaces must be declared on this node, at the risk of falling into an infinite loop of creation / deletion of interfaces.
Option --remep <specification>
Removes an unknown network contact interface from Duniter that was previously added.
duniter config --remep "ES_CORE_API g1.data.duniter.fr"
Caution: this command must be executed on a single node: all unknown interfaces must be declared on this node, at the risk of falling into an infinite loop of creation / deletion of interfaces.
Option --autoconf
Regenerates the network configuration automatically and generates a random key pair if it does not exist.
duniter config --autoconf
Generate a block manually
gen-next
Generates the next block from the pool data and the current block, performs the working proof for the requested difficulty and then submits the resulting block to a node.
duniter gen-next g1.duniter.org 10901 74
This command generates the next block, sends it to node g1.duniter.org: 10901
on port 10901
and calculates the working proof with 74
trouble (footprint beginning with 4 zeros).
Option --show
Displays the calculated block * before * the proof of work and submission to the network. Controls its contents.
duniter gen-next g1.duniter.org 10901 74 --show
Option --check
Modifies the behavior of the command: it no longer produces proof of work nor submits the block to the network. Instead, it generates the block and checks if it is acceptable by a node.
duniter gen-next --show --check
gen-root
Generates block #0 automatically, including a maximum number of members.
Gen-root duniter.org 10901 74
gen-root-choose
Generates block #0 by manually selecting members to include
Gen-root duniter.org 10901 74
? Newcomers to add:
◯ john
◯ dude404
◉ sinogeek
❯◉ deviantime
◯ kernel
◯
Transverse Options
These options, if used, must be systematically provided in future orders to maintain their application.
Because these options allow you to temporarily reset (the time of a command) a global variable of the application.
Option --home
Allows you to redefine the folder where the application data is stored. The default value for this option is $HOME/.config/duniter/
duniter sync g1.duniter.org:10901 --home / tmp / duniter
This command will synchronize and store the result in the /tmp/duniter/duniter_default
folder.
Option --mdb
Allows you to redefine the folder where the application data is stored. The default value for this option is duniter_default
.
duniter sync g1.duniter.org:10901 --mdb g-one
This command will synchronize and store the result in the $HOME/.config/duniter/g-one
folder.
It is possible to combine the 2 options:
duniter sync g1.duniter.org:10901 --home / tmp / duniter --mdb g-one
This command will synchronize and store the result in the /tmp/duniter/g-one
folder.
Option --keyfile
Provides the cryptographic keychain via a YAML file.
duniter start --keyfile /tmp/key.yml
With a key.yml
file in the following format:
Pub: "EfJ5xHtwjxvF3Bq4GMeuKkKe5nmodQcqkvgVPZZT6gCF"
Sec: "2vyztEUMgSgcidmLPprbR5pPUUFbGnTG99mdEMPiiRD6wVAm76AvjDDp5PypzMsTvLKX8UrJ5sQbCUCmxTWRtr9d"
Options --salt
, --passwd
These options allow you to use the cryptographic keychain resulting from the value of these two combined options.
duniter start --salt abc --passwd def
Options --keyN
, --keyr
, --keyp
The use of --salt
and --passwd
presupposes other cryptographic parameters named 'N, r, p'. Their default value in Duniter is "4096,16,1".
The --keyN
, --keyr
, --keyp
options allow you to redefine these values precisely.
duniter --salt abc --passwd def --keyN 4096 --keyr 16 --keyp 1