logo

Ethereum cryptocurrency node administration guide

#Create an Account

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":["passphrase"],"id":42}' eth_node_ip:8545

#Get created Accounts information

curl --data '{"method":"parity_allAccountsInfo","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545

#Test an Account's password

curl --data '{"method":"parity_testPassword","params":["*account address*","*account_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545

#Export an Account

To export an account you need to know the passphrase for the account you want to export Export is done in JSON format. You can then save this JSON into a file and import it to Metamask.

  1. Curl a Parity node to get the JSON response
curl --data '{"method":"parity_exportAccount","params":["*account address*","*account_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545 | jq -c .result

This will return the json that has to be saved to a file.

  1. Import the saved file to Metamask

Metamask Import

#Change an Account's password

curl --data '{"method":"parity_changePassword","params":["*accout address*","*old_password*", "*new_password*"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST eth_node_ip:8545

#Backup

All wallet private keys in Parity are stored at ~/.local/share/io.parity.ethereum/keys/*network_name* with each key stored in a separate JSON file.

The most convenient way to back up Parity nodes is by using a cronjob to upload all keys to a secure Object Storage bucket(S3, GCS, etc.)

An example script to accomplish this would be:

#!/bin/bash

set -e

BUCKET_NAME="gs://example/crypto-backup"
BACKUP_PATH="/home/parity/.local/share/io.parity.ethereum/keys/ethereum"
GOOGLE_CREDENTIALS="~/safe/gcs-backup-key.json"

gsutil -m cp -r ${BACKUP_PATH} ${BUCKET_NAME}/parity_keys

#More