Geem RPC Wallet

By December 8, 2018 Documentation, Geem No Comments

Geem RPC Wallet is a HTTP server which provides JSON 2.0 RPC interface for Geem payment operations and address management. Geem RPC Wallet allows you to accept incoming payments, generate an address for each user via Geem RPC Wallet JSON RPC API and much more. RPC Wallet API page contains detailed description of every method.

Download the Geem RPC Wallet

You can download the Geem RPC wallet from here.

Generate a new service wallet

./walletd --container-file=mycontainer --container-password=mypass --generate-container


  • 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 prefer.
  • –generate-container option tells RPC wallet to generate container file and exit.

Note: if a file name with mycontainer already exists in the current working folder, Geem RPC Wallet will show you the notification and will ask you to provide a different file name.

If the operation was successful you will get a corresponding message with your new Geem address, At the same time Geem RPC Wallet will save your container on the local disk (in the same folder where Geem RPC Wallet is located) and shut down.

Start the Geem RPC Wallet
There are two different ways of starting the Geem RPC wallet.

Start as the In-Process node
You can also start Geem 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 Geem network inside Geem RPC Wallet. You don’t have to download or install anything besides Geem RPC Wallet. This approach will help reduce the overheads required for infrastructure maintenance.

Use the following command to start Geem RPC Wallet with an in-process node

$ ./walletd --container-file=mycontainer --container-password=mypass --local

Start with remote daemon connection
Remote connection allows you to bind your Geem RPC Wallet to a remote Geem daemon (geemd). You may establish Geem daemon on both local and remote machines and connect to. Such type of connection allows you to start Geem 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 as an IP address.
For remote daemons specify the remote daemon’s IP address.

Default Geem daemon ports are 2045 and 2046.
Use the following command to start Geem RPC Wallet with a remote connection:

$ ./walletd --container-file=mycontainer --container-password=mypass --daemon-address=remote_ip --daemon-port=2045

Note: Geem daemon (geemd) should already be running when RPC wallet is starting in a remote connection mode.
Note: Geem RPC Wallet will still provide some functionality even if Daemon server fails. For example, you will be able to generate addresses for your users.

Use RPC wallet with config file
To use the Geem RPC wallet you can use both command line and a config file. Config file allows you to configure your settings only once and use “–config” option further. The command below launches Geem RPC Wallet with a specific config file:

$ ./walletd --config=/home/Downloads/myconfig.conf

To get help on available options run:

$ ./walletd

Please note, Geem RPC Wallet config file may only consist of options below:

Option Description Config Example Console Example
bind-address Which address to bind Geem RPC Wallet to. Default value is bind-address = –bind-address=
bind-port Which port to bind Geem RPC Wallet to. Default value is 8070 bind-port = 8070 –bind-port=8070
daemon-address Geem daemon (geemd) address for remote daemon connection infrastructure daemon-address = –daemon-address=
daemon-port Geem daemon (geemd) port for remote daemon connection infrastructure. Default Geem daemon port os 2045 daemon-port = 2045 –daemon-port=2045
container-file Mandatory. Your container’s file name container-file = mycontainer –container-file=mycontainer
container-password Mandatory. Your container’s password container-password = mypassword –container-password=mypassword
log-file A name of log file that you want to use for logging. Default is walletd.log log-file = mylog.log –log-file=mylog.log
server-root Working directory that you wish to use for Geem RPC Wallet. Default is current working directory. server-root = /home/Downloads/RPCWallet –server-root=/home/Downloads/RPCWallet
log-level Level of logging. Default is 1. log-level = 2 –log-level=2
testnet Allows you to run Geem RPC Wallet in testnet. testnet = no –testnet=no
local Option that allows you to start Geem RPC Wallet as an in-process node local –local

Here’s an example of a config file:

$ cat rpc_wallet.conf 
 container-file = mycontainer
 container-password = mypassword
 daemon-port = 2045
 bind-port = 8070
 testnet = no

You may specify Geem config directly through console arguments. Using a config file is not required.

 ./walletd --container-file=mycontainer --container-password=mypassword --daemon-port=2045 --bind-port=8070 --testnet=no

Note: The config file’s path is relative to current working directory, not server root.
Note: options “container-file” and “container-password” should ALWAYS be set (in either command line or config file mode).
Note: “container-file” and “log-file” options are relative to “server-root”. “server-root” default is the current working directory.

Run Geem RPC Wallet

Geem RPC wallet can be started in both daemon and console modes.

  • Daemon mode – Geem RPC Wallet is launched in the background, while you can continue to work with a console window.
  • Console mode – Geem RPC Wallet is launched and prints log messages on the screen.

Geem RPC wallet starts in console mode by default.

Start as daemon
To start RPC wallet as daemon just set “–daemon” (or short “-d”) option.

$ ./walletd --container-file=mycontainer --container-password=mypassword --daemon

Start as service (Windows only)
To run RPC wallet as a service on Windows you have to do the following:

1. Create a config file and place it in the same directory as your RPC wallet’s executable resides in.
A note for Windows Users: In case the server root in config file is not specified all paths should be ABSOLUTE. If you set server root you can use relative paths (relative to your server root);
2. Register your Geem RPC Wallet as a service. To do so, run the following command as an ADMINISTRATOR:

walletd.exe --register-service

3. After you see message about successful service registration you can run it in your Services panel.

Uninstall service (Windows only)
If you want to delete RPC wallet you have to unregister windows service first (if you have registered it before). run the following command as an ADMINISTRATOR:

walletd.exe --unregister-service

Geem RPC Wallet API allows you to create addresses for your users, accept and send transactions and much more.
Detailed description for every Geem RPC Wallet API method can be found here.