本文为linux下搭建BEE节点相关教程。
准备工具
- linux服务器
- ssh和ftp软件:finalshell
- 文本编辑器:sublime text
- 自备梯子和谷歌浏览器
- 小狐狸metamask插件
1、购买服务器
根据目前的挂机出票情况,服务器最低配置要求:
- 2核
- 4G内存
- 200G硬盘
- 5M带宽
建议使用香港、新加坡、东京节点,增加出票率。
推荐,华为云新加坡节点
1)注册华为云帐户
2)点击右上角,控制台个人中心,完成实名认证
3)左上角菜单-产品中心-弹性云服务器ECS
配置服务器,选择新加坡节点
系统选择centos 7,系统盘选择高io,200G以上
带宽选择5M
设置root密码,完成配置,付款后,主机开启。复制主机公网IP到下面ssh软件连接服务器
2、部署节点
第一步先创建bee文件夹(后面在bee里执行命令)
- cd /mnt
- mkdir bee
- ll
- cd bee
下载clef
下载之前,去github上面查看最新版本,在下面指令中,自动替换地址和安装包。
https://github.com/ethersphere/bee-clef/releases/
执行下载指令:
- yum install -y wget
- wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.9/bee-clef_0.4.9_amd64.rpm
安装clef
- rpm -i bee-clef_0.4.9_amd64.rpm
下载bee
更新之前,去github查看一下node节点最新版
https://github.com/ethersphere/bee/releases
然后执行下面的下载命令:
- wget https://github.com/ethersphere/bee/releases/download/v0.5.3/bee_0.5.3_amd64.rpm
安装
- rpm -i bee_0.5.3_amd64.rpm
运行clef-service
- yum install -y screen
- screen -S clef
#确保路径是在 /mnt/bee 下之后将 clef-service 拷贝至文件夹下
- wget https://cxc.im/clef-service
#修改文件执行权限
- chmod a+x clef-service
启动clef
- ./clef-service start
界面无报错即代表启动完成。
按住 ctrl 不松,分别按 a、d,关掉当前子窗口。
注意是快速同时按一次就可以
运行bee
执行下面命令,运行bee节点,首次运行要设置密码。输入的时候,屏幕不会显示字符,请牢记密码。
- screen -S bee
bee start --verbosity 5 --swap-endpoint https://rpc.slock.it/goerli --debug-api-enable --clef-signer-enable --clef-signer-endpoint /var/lib/bee-clef/clef.ipc
刚开始,还没有测试代币,会一直提醒让你去获取代币,转入指定帐户,如上图:
https://bzz.ethswarm.org/?transaction=buy&amount=10&slippage=30&receiver=自己的地址
复制这个地址。然后,到水龙头领测试代币。
下面随便找一个龙头领取就行。
- 水龙头1:https://faucet.ethswarm.org/
- 水龙头2:https://goerli-faucet.slock.it/
- 水龙头3:加入官方discord:https://discord.gg/ykCupZMuww
在频道#faucet-request中领取:sprinkle 你的地址:
由于公用swap太多人使用,启动的时候,会报错。无法启动节点。
这个时候,可以自己去申请一个swap,在配置文件里面定义好。
软件会检测代币传输状态,到帐后,节点跑成功的界面提示信息:
如果碰到网络拥堵,转帐迟迟没打包上链确认,会一直提示等待交易确认:
如果关掉ssh窗口后,重新连接ssh窗口后,用下面命令可以查看跑没跑节点,可以不定时查看。
- screen -ls
可用下面指令重新恢复窗口
- screen -r id号
新开一个ssh连接窗口,安装软件:
- yum install epel-release
按y安装
安装 json 解析工具,方便后面查询命令的时候,输出显示效果更友好。
- yum list jq
- yum install jq
按y安装,按y安装
下载兑现支票脚本
进入bee目录:
- cd /mnt/bee/
下载脚本文件
- wget -O cashout.sh https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
文件添加执行权限
- chmod a+x cashout.sh
- ll
查看有没有票(有返回就代表有可兑换支票)
- curl localhost:1635/chequebook/cheque | jq
没有支票
有支票
查询兑换支票
- cd /mnt/bee
- ./cashout.sh
兑换支票(有票的话执行)
- ./cashout.sh cashout-all 5
兑换支票其实就是和合约交互,上链,可以复制你的钱包地址,到测试网浏览器查看。
需挂梯子才能访问。例如:
https://goerli.etherscan.io/address/0x3d5e3a0d0a2bf1a84d699e9117c3a9e13e5d6742
点击钱包的erc20代币交易标签,找到一笔10个代币转出到智能合约地址的转帐记录,那就是你的节点支票簿。点击地址,就能查看你的支票簿代币交易明细。
更加详细的支票簿账务查看原理,请看这篇文章:
如何查看swarm以太坊存储项目BEE节点支票簿会计帐务明细
相关查询指令
查看链接的节点数
curl -s http://localhost:1635/peers | jq '.peers | length'
查看网络拓扑
- curl -X GET http://localhost:1635/topology | jq
测试连通状态,出现Ethereum Swarm Bee 就ok
- curl http://localhost:1633
节点域余额
- curl localhost:1635/chequebook/balance | jq
查自己的eth地址有没有测试币,记得挂梯子。
https://goerli.etherscan.io/address/0xc65abda2095be548a9e41a7ad956250a67b88ed7
查询自己钱包的地址和支票簿地址(合约)
查看你的bee钱包地址。
- curl localhost:1635/addresses | jq
查询支票簿合约地址
- curl localhost:1635/chequebook/address
当你有支票后,并且提取之后,拿着这个支票合约地址,挂梯子,到区块浏览器查你的支票收支和余额状态(红色部分替换成你自己的)直接访问:
https://goerli.etherscan.io/address/0x480F1b5719519363414F642de0F098c1C7069E16#tokentxns
提取私钥文件
输入命令:
- cd /var/lib/bee-clef/keystore
↓
右键,下载“UTC–…”文件
↓
右键,下载,注意核对一下文件末尾那段文本,就是你的节点钱包地址
回退一层目录,密码文件也下载保存。
文件一定要注意归类保存好
导出私钥
导出Linux版本(Centos、Ubuntu等)中私钥到MetaMask(小狐狸钱包)
最新版本的bee-clef 0.4.9已经支持了导出私钥的命令。
https://github.com/ethersphere/bee-clef/blob/master/packaging/bee-clef-keys
将脚本内容复制,保存为bee-clef-keys,上传到bee目录,执行。或者直接wget下载我放在服务器上的文件。
进入bee目录: cd /mnt/bee
下载执行以下命令:
- wget https://cxc.im/bee-clef-keys
- chmod a+x bee-clef-keys
- ./bee-clef-keys
finalshell窗口下部,root目录,刷新,右键下载两个文件:
用ftp软件,连接到root目录,下载对应的两个文件:
.json就是私钥,.txt里面是这个私钥对应的密码,导入小狐狸用。
妥善保存好私钥文件和密码。导入小狐狸之后,可以通过小狐狸导出无密码私钥保存。