安装部署iotex
2021年4月19日
iotex是什么?
本质上是一套区块链系统,如同比特币和以太坊等。在物联网中,为了解决隐私和安全问题,人们想到了借助区块链的手段。区块链的特色就是去中心化、不可篡改等。但有一个问题,那就是算力和存储的问题,物联网上大多数都是轻设备,故而在共识协议等方面就无法运用比特币和以太币等那样的消耗太多算力的方法了,iotex使用的共识机制是DPoS和PBFT结合的方式,此外还有些地方有根据物联网做改进。iotex发行的token名为IOTX,是物联网相关加密货币中的第二位,仅次于IOTA。
下载
首先进入iotex在github上的项目官网https://github.com/iotexproject/
下载两个项目iotex-core(核心项目)和iotex-docs(说明文档)
iotex分服务器和客户端。客户端又叫iotcl,是个交互命令。
安装环境是linux服务器,需要先安装go语言。我按文档的要求下载了go1.14.4以上版本。非常重要的一件事情是对go进行换源,否则下载某些go依赖非常困难。
go换源
echo "export GO111MODULE=on" >> ~/.bashrc
echo "export GOPROXY=https://goproxy.cn" >> ~/.bashrc
source ~/.bashrc
编译
把iotex-core放到linux机器中,进入目录
cd iotex-core
make,会编译服务器与客户端(ioctl)
make
将ioctl加入环境变量
在PATH中添加iotex-core/bin/ioctl,否则需要到该目录下运行交互ioctl命令
运行
现在没必要运行,可以等先编写好含有超级账号的配置文件再运行。可以先看配置部分。
Start (or resume) a standalone server to operate on an blockchain by
make run
Restart the server from a clean state by
make reboot
If "make run" fails due to corrupted or missing state database while block database is in normal condition, e.g.,
failing to get factory's height from underlying DB, please try to recover state database by
make recover
Then, "make run" again.
一般运行一个单机网络就使用"make run"命令即可。
持续运行:
nohup make run &
可以用’ps -ef | grep "make run"‘ 查出进程,然后kill该进程
kill -9 [pid]
配置
以下内容大多数源自iotex-docs/docs/developer/get-started
创建账户
ioctl account createadd dev-acc
ioctl account createadd tmp01
查看账户
[root@iZbp113j65k89ln5k6wnbwZ ~]# ioctl account list
io15sw6jd7mpld9ax59sg7r8tsrgfl7jfwa9dpfd8 - dev-acc
io1tnqqwav88zy30lamhlnkasj8232pukh44gft86 - tmp01
于是我们获得了dev-acc账号的地址,接下来我们把这个当做超级账号,为他注入大量代币
更改配置文件
更改配置文件./config/standalone-genesis.yaml:
account:
initBalances:
# overwrite with your test address
io1tq0aerty0th6nlc852pqjttfr0xg643yzl4r24: "100000000000000000000000000000000000"
blockchain:
blockInterval: 5s
numSubEpochs: 15
timeBasedRotation: true
# overwrite heights for testing needs
然后"make run"重新运行服务器。如果已经运行了服务器,关闭后重新"make run"。
配置ioctl
# 设置ioctl的服务器为本地服务器,14014端口为服务器默认运行的端口
ioctl config set endpoint localhost:14014 --insecure
# 设置ioctl的服务器为iotex的测试网络服务器
ioctl config set endpoint api.iotex.one:443
查看
# 查看区块链信息
ioctl bc info
# 查看余额
ioctl account balance dev-acc
如果能看到余额就成功了。
踩过的坑
安装方式通过docker的话,我下载了各版本的iotex,这些容器里运行某些ioctl操作会报错"index not found",我到最后都没有解决。只能转成下载到linux里配置。

浙公网安备 33010602011771号