Walletd

From ParsiCoin (PARS) | Wiki
Jump to navigation Jump to search

ParsiCoin RPC Wallet is a HTTP server which provides JSON 2.0 RPC interface for ParsiCoin payment operations and address management. ParsiCoin RPC Wallet allows you to accept incoming payments, generate an address for each user via ParsiCoin RPC Wallet JSON RPC API and much more.

Commands

Common Options :
-c [ --config ] arg = configuration file
-h [ --help ] = produce this help message and exit
--local = start with local node (remote is default)
--testnet = testnet mode
--version = Output version information
--data-dir (=C:\Users\username\AppData\Roaming/parsicoin) = Specify data directory
--bind-address (=127.0.0.1) = payment service bind address
--bind-port (=8070) = payment service bind port
--rpc-user = Username to use with the RPC server. If empty, no server authorization will be done
--rpc-password = Password to use with the RPC server. If empty, no server authorization will be done
-w [ --container-file ] arg = container file
-p [ --container-password ] arg = container password
-g [ --generate-container ] = generate new container file with one wallet and exit
-d [ --daemon ] = run as daemon in Unix or as service in Windows
--register-service = register service and exit (Windows only)
--unregister-service = unregister service and exit (Windows only)
-l [ --log-file ] arg = log file
--server-root = server root. The service will use it as working directory. Don't set it if don't want to change it
--log-level = log level
--address = print wallet addresses and exit

Remote Node Options :
--daemon-address (=localhost) = daemon address
--daemon-port (=18240) = daemon port

Local Node Options :
--p2p-bind-ip (=0.0.0.0) = Interface for p2p network protocol
--p2p-bind-port (=17240) = Port for p2p network protocol
--p2p-external-port (=0) = External port for p2p network protocol (if port forwarding used with NAT)
--allow-local-ip = Allow local ip add to peer list, mostly in debug purposes
--add-peer = Manually add peer to local peerlist
--add-priority-node = Specify list of peers to connect to and attempt to keep the connection open
--add-exclusive-node = Specify list of peers to connect to only. If this option is given the options add-priority-node and seed-node are ignored
--seed-node = Connect to a node to retrieve peer addresses, and disconnect
--hide-my-port = Do not announce yourself as peerlist candidate

RPC API

To start using RPC wallet you must first generate a container. Container file is the only file that stores all data required to run your service. It contains user addresses and private keys required to operate them. Make sure to backup this file regularly.
To generate a new container you should run the following command :
./walletd --container-file=mycontainer --container-password=mypass --generate-container
where:
mycontainer is the container file name and a path to it (relative or absolute); path is optional in this argument, specifying only a container's name will result in new file located in the same folder as RPC Wallet
mypass is a secret password for the new wallet file. Whichever you like;
--generate-container option tells RPC wallet to generate container file and exit.
If the operation was successful you will get a corresponding message with your new ParsiCoin address. At the same time ParsiCoin RPC Wallet will save your container on the local disk (in the same folder where ParsiCoin RPC Wallet is located) and shut down.

Start ParsiCoin RPC Wallet
There are two ways to start ParsiCoin RPC Wallet :
Start with a remote connection to the Daemon :
Remote connection allows you to bind your ParsiCoin RPC Wallet to a remote ParsiCoin daemon (ParsiCoind). You may establish ParsiCoin daemon on both local and remote machines and connect to. Such type of connection allows you to start ParsiCoin RPC Wallet on a relatively slow machine while heavy loaded daemon is going to work on a separate powerful server.

  • For local daemons use localhost or 127.0.0.1 as an IP address.
  • For remote daemons specify the remote daemon's IP address.

Default ParsiCoin daemon ports are 17240 and 18240.
Use the following command to start ParsiCoin RPC Wallet with a remote connection :
./walletd --container-file=mycontainer --container-password=mypass --daemon-address=remote_ip --daemon-port=17240
Note: ParsiCoin daemon (ParsiCoind) should be running at the moment RPC wallet is starting in a remote connection mode.

Start as in-process node
You can also start ParsiCoin RPC Wallet with an in-process node. This allows you to start RPC Wallet out-of-box with no external daemon required. You will get a fully functional node for ParsiCoin network inside ParsiCoin RPC Wallet. You don't have to download or install anything besides ParsiCoin RPC Wallet. This approach will help reduce the overheads required for infrastructure maintenance.
Use the following command to start ParsiCoin RPC Wallet with an in-process node :
./walletd --container-file=mycontainer --container-password=mypass --local

Configure ParsiCoin RPC Wallet
To configure RPC wallet you can use both command line and config file. Config file allows you to configure your settings only once and use "--config" option further. The command below launches ParsiCoin RPC Wallet with a specific config file:
./walletd --config=/home/myconfig.conf
To get help on available options run :
./walletd -h

Compile

ParsiCoin is a OpenSource Project, You can Access it's Source Code, it's available on Github.
Check Following Guides to build ParsiCoin and ParsiPay:
https://github.com/parsicoin/parsicoin
https://github.com/parsicoin/parsipay