Actions

Node Management Index: Difference between revisions

From Chainlink Community Wiki

No edit summary
No edit summary
Line 71: Line 71:
In the below example, we will be exporting an Ethereum mainnet private key.
In the below example, we will be exporting an Ethereum mainnet private key.


List our keys to identify which one(s) we wish to export.  
==== List our keys to identify which one(s) we wish to export. ====
 
<code>chainlink keys eth list</code>
<code>chainlink keys eth list</code>


 
====  Create a file containing our password used to encrypt the exported password. ====
Create a file containing our password used to encrypt the exported password.
 
<code>echo "$YOURPASSWORD" > passwordFile</code>
<code>echo "$YOURPASSWORD" > passwordFile</code>


 
====  Export our password. ====
Export our password.
 
<code>chainlink keys eth export $0xKEY_ADDRESS --newpassword passwordFile --output $NAME_FOR_PRIAVTEKEY_FILE</code>
<code>chainlink keys eth export $0xKEY_ADDRESS --newpassword passwordFile --output $NAME_FOR_PRIAVTEKEY_FILE</code>


 
====  Copy the private key file to our host. ====
Copy the private key file to our host.
 
<code>docker cp $CONTAINER_NAME:/chainlink/$NAMEFOR_PRIVATEKEY_FILE /host/path/target</code>
<code>docker cp $CONTAINER_NAME:/chainlink/$NAMEFOR_PRIVATEKEY_FILE /host/path/target</code>



Revision as of 16:11, 20 May 2022

Chainlink Node Management Index

This page is an index of the various docs and guides hosted on this site that will help manage and maintain a Chainlink Node. Please feel free to contact us with suggestions or if you'd like to contribute.

Accessing Chianlink Node CLI

Many of the tasks on this page require you to have access to the Chianlink Node's CLI.

To access the CLI, you must attach to your Chainlink container's bash tty session

docker exec -it $CONTAINER_NAME /bin/bash


Once connected, for the majority of the tasks you will want to accompish, you'll need to authenticate via your API credentials (the same credentials you use to access the web UI)

chainlink admin login


Now that you've authenticated with your API credentials, we can accomplish some more nuanced tasks that are not available via the web UI.


Chainlink Node Private Key Management

Where to Find Your Key(s)

  • The command you want to run will vary based on the type of keys you're looking for
    • CSA keys
      • chainlink keys csa list
    • Ethereum/EVM keys
      • chainlink keys eth list
    • OCR keys
      • chainlink keys ocr list
    • OCR 2 keys
      • chainlink keys ocr2 list
    • P2P keys
      • chainlink keys p2p list
    • Solana keys
      • chainlink keys solana list
    • Terra keys
      • chainlink keys terra list
    • VRK keys
      • chainlink keys vrf list

Generate New Key(s)

  • This command will vary based on which key's you're creating
    • CSA keys
      • chainlink keys csa create
    • Ethereum/EVM keys
      • chainlink keys eth create --evmChainID 1
    • OCR keys
      • chainlink keys ocr create
    • OCR 2 keys
      • chainlink keys ocr2 create
    • P2P keys
      • chainlink keys p2p create
    • Solana keys
      • chainlink keys solana create
    • Terra keys
      • chainlink keys terra create
    • VRK keys
      • chainlink keys vrf create

Exporting Your Private Keys

If you'd like to export your private keys, the following steps will provide you with directions and examples

While connected to, and authenticated with, the Chainlink CLI, we will want to:

  1. List our keys to identify which one(s) we wish to export.
  2. Create a file containing our password used to encrypt the exported password.
  3. Export our password.
  4. Copy the private key file to our host.

In the below example, we will be exporting an Ethereum mainnet private key.

List our keys to identify which one(s) we wish to export.

chainlink keys eth list

Create a file containing our password used to encrypt the exported password.

echo "$YOURPASSWORD" > passwordFile

Export our password.

chainlink keys eth export $0xKEY_ADDRESS --newpassword passwordFile --output $NAME_FOR_PRIAVTEKEY_FILE

Copy the private key file to our host.

docker cp $CONTAINER_NAME:/chainlink/$NAMEFOR_PRIVATEKEY_FILE /host/path/target

Now that the file is on your Docker host, you can scp it somewhere else, or whatever you'd like to do with it.


Importing/Replacing Your Private Keys

In some situations, you may find yourself in need of importing your own keys, or perhaps you've gotten a borked node and want to export your old keys and import them into a newly built Chainlink node.

Whatever your situation, the steps below will assist

Key Format

In order for your keys to be accepted for use in the Chainlink node, they must be in the proper, single line, json format.

An example is shown below:

{"address":"bdcfbbd9da176e233d5a8d9a77905c2853bf10a9","crypto":{"cipher":"aes-128-ctr","ciphertext":"69ecad9449d479b7c2dc7eac19131da1af9bb64347d33e5b3bff314c7a3710f9","cipherparams":{"iv":"dd4535b11fa85e25fe0b9d4f2889aa66"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"4be7fad8f62c395bbb7457e1e398f37a346f36df6673c377dd91d0efe201821f"},"mac":"9a7c8461b60b98d16376e665b290aecf75620d8276799fbe75045dbbf2b3bdd8"},"id":"bdcfbbd9-da17-6e23-3d5a-8d9a77905c28","version":3}