云计算

初探比原链

初探比原链

为了能深入了解到区块链底层技术,我们需要选择某一个应用进行深入探究。

go公链开发实战这本书就是以比原链为基础对区块链技术进行深入的探讨,而且其代码开源,是一个值得学习的项目。

但是此书只能提供一些参考,更多的需要我们自己去探究很多东西。

通过此项目,也让我们对区块链技术可以有个比较深入的了解,而不是空空说一些概念上的东西。

image-20210705223233094

加入比原链主网

运行比原链主网后,我们就可以同步全网账本。

为了后面能够深入了解底层技术,我们使用v1.0.5版本的代码进行运行和研究。

git clone https://github.com/Bytom/bytom.git
cd bytom
git fetch origin v1.0.5
git checkout v1.0.5
docker build -t="bytom:v1.0.5" .
docker run --name="mybytom" -itd -p 9888:9888 bytom:v1.0.5
docker exec -it mybytom sh
# 初始化 设置运行主网
bytomd init --chain_id mainnet
# 启动bytomd守护进程
nohup bytomd &>log.log &

web端钱包

访问localhost:9888

如果访问成功,则说明进程启动成功。

image-20210705225325081

为了能够进入此钱包,我们需要使用命令行工具生成一个access-token。

在前面的容器中输入

bytomcli create-access-token test

image-20210705230703780

将token的值填入web端即可。

image-20210705230806434

创建一个比原链账户

可以使用web端或者命令行。

作为“专业人士”,还是使用命令行工具吧,比较符合极客身份。

关于命令行的使用,我们可以看看官网的使用详情
image-20210705231852086

# 创建账户之前需要密匙,使用create-key生成
# jaronnie为别名,123456位密码
bytomcli create-key jaronnie 123456

image-20210705232958949

根据这个密匙创建一个账户:

bytomcli create-account jaronnie [替换上面的xpubs]

image-20210705233418538

此时我们创建用户就成功了。

同步全网账本

我们知道,区块链是去中心化的,每个结点都拥有所有区块的数据。图中我已经对全网账本进行了同步,那具体该如何同步呢?

  • 它会自动去同步(由较近的结点进行P2P连接),但是速度比较慢
  • 去官网下载同步好的账本,放在具体的位置即可

我们选择第二种办法,较为方便:

官网下载账本。

image-20210705231335144

同步之前首先需要断网!!!切记!

远程调用区块链中的信息

我们可以通过官方提供的命令行工具获取所有的信息,但是如果需要远程调用这些信息呢?

如获取当前区块的高度:

bytomcli get-block-count

image-20210705234503015

在该主网中,提供了9888端口供我们远程调用该服务。

接口为http://localhost:9888

具体可看这里

image-20210705234715798

比较坑的是:调用后出现问题,需要我们假如一些参数(token)才可以进行调用。

curl -X POST localhost:9888/get-block-count

image-20210705234822089

先获取之前创建的access-token

bytomcli list-access-tokens

image-20210705235154947

然后在调用是带入该参数即可调用成功:

curl -u test:017b61225961243a718987475d30bcdec93f98f3ab8e4d4fa6eb0bab01828903 -X POST localhost:9888/get-block-count

image-20210705235257939

这其中的原理还需要好好研究,暂时先写到这里吧!

共识机制之PoW和PoS

上一篇

将pandas中Series、DataFrame类型转成list类型

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫