如何在Ubuntu系统上搭建一个Chainlink测试节点

本文我会给大家介绍,如何从零开始,在一个全新的Ubuntu系统上,搭建起Ch     ai   nlink     测试   节点的过程。本文内容非常的基础,如果你已经非常熟悉Chainlink,或者的开发运维高手,无需阅读本文。本文所说的内容仅适用于测试环境,正式环境的部署请参考官方文档,或咨询Chainlink官方技术人员。

我们使用docker来建立Ethereum Client节点和Chainlink节点。使用docker的好处就是省去了编译工作,编译需要建立相对复杂的开发环境,可能还需要解决一些编译错误,比较费时费力。好在无论是Ethereum还是Chainlink,官方都会及时提供最新的release版本的镜像,我们直接拿来用就可以了。

安装docker

首先需要安装docker,大家可以在这个页面根据自己操作系统的情况来按照文档完成安装。下面我写一下Ubuntu1804环境下的安装步骤。(参考)

依次执行下面的命令

安装必要的包

sudo apt upda     te  

sudo apt-get install \

apt-transport-https \

ca-cert     if   icates \

curl \

gnupg-agent \

software-proper     ti   es-common

安装docker官方提供的GPG key

curl -fsSL https://download.docker.com/     linux   /ubuntu/gpg》 | sudo apt-key add -

此时可以验证一下可以的正确性,输入下面的命令,如果出现的是这一串     字符   9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88,说明正确。

sudo apt-key fingerprint 0EBFCD88

pub     rs   a4096 2017-02-22 [SCEA]

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb)《docker@docker.com》

sub rsa4096 2017-02-22 [S]

将稳定版本的docker添加到apt库中

sudo add-apt-repository \

“deb [arch=     amd   64] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) \

stable”

开始安装

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io

这个过程可能会花费一些时间。完成后我们就完成了docker的安装了,你可以输入docker -v,如果有正确的输出,就说明安装成功。

建立Ethereum Client(Geth)节点

我们使用docker来运行起一个同步模式为light的Geth节点,网络选择测试网络Ropsten。Parity节点参考文档

https://docs.chain.link/docs/run-an-ethereum-client#sec  TI on-parity

获取最新版本的Geth Docker镜像

docker pull ethereum/client-go:latest

注:如果遇到权限问题,可以通过下面的命令,将当前用户添加到docker用户组

sudo usermod -a -G docker $USER

或者直接在拉取镜像的命令前加sudo。

创建Ethereum数据目录

mkdir ~/.geth-ropsten

运行Ethereum容器

docker run --name eth -p 8546:8546 -v ~/.geth-ropsten:/geth -it \

ethereum/client-go --syncmode light --testnet --ws --ipcdisable \

--wsaddr 0.0.0.0 --wsorigins=“*” --dat     adi   r /geth

启动之后可以通过Ctrl+P 和 Ctrl+Q 来与docker的环境分离(detach)。

再次启动的话直接输入docker start eth就可以了。其中eth是刚刚启动命令中—-name中指定的容器名。

运行Chainlink节点

创建Chainlink测试目录

mkdir ~/.chainlink-ropsten

创建环境变量文件

echo “ROOT=/chainlink

LOG_LEVEL=debug ETH_CHAIN_ID=3     MI   N_OUTGOING_CONFIRMA  TI ONS=2 MIN_INCOMING_CONFIRMA  TI ONS=0 LINK_CONTRACT_ADDRESS=0x20fe562d797a42dcb3399062ae9546cd06f63280

CHAINLINK_TLS_PORT=0

SECURE_COOKIES=false

ALLOW_ORIGINS=*” 》 ~/.chainlink-ropsten/.env

其中

ETH_CHAIN_ID=3表示Chainlink需要接入Ethereum的Ropsten测试网络。

LINK_CONTRACT_ADDRESS填入的是Ropsten测试网络上的LINK token合约地址,这个地址在不同的网络上是不同的。如果您使用的不是Ropsten测试网络,需要前往Chainlink官方文档查询对应的合约地址。

由于Chainlink需要监听以太坊网络上的状态变化,所以需要充以太坊节点获取最新的区块信息。Chainlink与以太坊节点通过WebSocket进行通信。所以接下来需要获取Ethereum节点的地址。

如果以太的客户端节点容易与Chainlink的节点运行在同一台主机上,可以通过下面的命令获取到以太坊节点地址。

ETH_CONTAINER_IP=$(docker inspect --format ‘{{ .NetworkSet  TI ngs.I     PAd   dress }}’ $(docker ps -f name=eth -q))`

然后将以太坊的地址写入到Chainlink的环境变量文件中:

echo “ETH_URL=ws://$ETH_CONTAINER_IP:8546” 》》 ~/.chainlink-ropsten/.env`

其中8546是以太坊节点默认的WebSocket监听端口,确保不要连接成REST或其他端口。

如果以太坊节点和Chainlink节点不再同一台机器上,请获取到以太坊所在机器的IP地址,并确保以太坊所监听的WebSocket端口开放。

运行Chainlink容器

cd ~/.chainlink-ropsten && docker run --name chainlink -p 6688:6688 -v ~/.chainlink-ropsten:/chainlink -it --env-file=.env smartcontract/chainlink local n

首次启动的时候会要求两个密码,第一个输入的是节点钱包的密码,可以用来解     锁   节点自动生成的keystore。输入之后还需确认一次。第二个密码是一个账户和密码对,是GUI界面的登录密码和A     PI   的调用密码。

这两个密码和账号请务必牢记,如果丢失可能需要重新建节点。

你还可以把账号和密码写到环境变量的配置文件里,防止在终端输入时的拼写错误。

同样,启动之后可以通过Ctrl+P 和 Ctrl+Q 来与docker的环境分离(detach),再次启动时输入docker start chainlink 即可。此时建议您将节点密码配置到文件中以方便使用。

不出意外的话你的第一个Chainlink节点就搭建完成啦。你可以通过在浏览器中输入节点ip:6688来访问节点管理界面了。

 如何在Ubuntu系统上搭建一个Chainlink测试节点_设计制作_可编程逻辑

50
172
0
72

相关资讯

  1. 1、四部“血本无归”的古装剧,投资商亏到肝疼,主演却数钱数到手疼3079
  2. 2、幸福夫妇《都来爱梦》讲探险极寒雪地浪漫求婚2994
  3. 3、同一角色新旧PK,青出于蓝而胜于蓝,还是被完爆?681
  4. 4、为何罗仲谦抓住杨怡的芳心,即使倒贴腰包办婚礼也愿意?2961
  5. 5、TVB力捧小生直言希望与汤怡同居一室:我可以给五千元房租的2960
  6. 6、古装剧《刁蛮公主》演员现状:女主销声匿迹,配角如今却是爆火4503
  7. 7、贾静雯将要补办婚礼,她曾经出演的古装剧你还记得几部?1133
  8. 8、《好好的》将上映冯绍峰倪妮大喊拍摄太辛苦4386
  9. 9、罗忆楠《大风歌》跨年纪演出历史剧新秀初长成3003
  10. 10、魔兽电影还会有续集?导演打破粉丝幻想:魔兽2不太可能了3127
全部评论(0)
我也有话说
0
收藏
点赞
顶部