-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEthereumClient
More file actions
108 lines (71 loc) · 3.28 KB
/
EthereumClient
File metadata and controls
108 lines (71 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
n order to run a Chainlink node, it must be able to connect to an Ethereum client with an active websocket connection. This is accomplished by running either Geth, Parity, or using a 3rd party connection. The examples below show how to run Geth and Parity in their official Docker containers for each network that they support.
We would recommend to use one of the external services for your Ethereum client, since running one on your own managed machine will consume a lot of resources. If you do choose to run either Geth or Parity with their native clients, please be sure to enable the websockets API, since it is required for the Chainlink node to communicate with the Ethereum blockchain.
Geth
Geth's Documentation
The Geth client can be used for the Rinkeby test network, as well as the Ethereum main network.
Download the latest version:
docker pull ethereum/client-go:latest
Create a local directory to persist the data:
Rinkeby
Mainnet
mkdir ~/.geth-rinkeby
Run the container:
Rinkeby
Mainnet
docker run --name eth -p 8546:8546 -v ~/.geth-rinkeby:/geth -it \
ethereum/client-go --rinkeby --ws --ipcdisable \
--wsaddr 0.0.0.0 --wsorigins="*" --datadir /geth
Once the Ethereum client is running, you can use Ctrl + P, Ctrl + Q to detach from the container without stopping it. You will need to leave the container running for the Chainlink node to connect to it.
If the container was stopped and you need to run it again, you can simply use the following command:
docker start -i eth
Return to Running a Chainlink Node.
Parity
Parity's Documentation
The Parity client can be used for the Kovan test network, as well as the Ethereum main network.
Download the latest version:
docker pull parity/parity:stable
Create a local directory to persist the data:
Kovan
Mainnet
mkdir ~/.parity-kovan
Run the container:
Kovan
Mainnet
docker run -h eth --name eth -p 8546:8546 \
-v ~/.parity-kovan:/home/parity/.local/share/io.parity.ethereum/ \
-it parity/parity:stable --chain=kovan \
--ws-interface=all --ws-origins="all" \
--base-path /home/parity/.local/share/io.parity.ethereum/
Once the Ethereum client is running, you can use Ctrl + P, Ctrl + Q to detach from the container without stopping it. You will need to leave the container running for the Chainlink node to connect to it.
If the container was stopped and you need to run it again, you can simply use the following command:
docker start -i eth
Return to Running a Chainlink Node.
External Services
The following services offer Ethereum clients with websockets connectivity known to work with the Chainlink node.
Chainstack
Example connection setting
Mainnet
ETH_URL=wss://user-name:pass-word-pass-word-pass-word@ws-nd-123-456-789.p2pify.com
Fiews
Example connection setting
Rinkeby
Mainnet
ETH_URL=wss://cl-rinkeby.fiews.io/v1/yourapikey
Infura
Example connection setting. Note to replace YOUR_PROJECT_ID with the ID Infura provides you on your project settings page
Rinkeby
Kovan
Mainnet
ETH_URL=wss://rinkeby.infura.io/ws/v3/YOUR_PROJECT_ID
LinkPool
Example connection setting
Mainnet
ETH_URL=wss://main-rpc.linkpool.io/ws
QuikNode
Example connection setting
Rinkeby
Kovan
Mainnet
ETH_URL=wss://your-node-name.rinkeby.quiknode.pro/security-hash/
Additional Tools
Chainlink ETH Failover Proxy