区块链项目(algorand)开发过程全记录(一)

blog2
这个项目里里外外花了1、2个月才算弄明白,走了许多弯路,将过程记录如下,希望能为老铁们提供些许经验。
这篇文章主要分为go-algorand和go-algorand-sdk两部分,想查看sdk开发过程的小伙伴请移步:区块链项目(algorand)开发过程全记录(二)

Algorand介绍

Algorand是一种新的加密货币,确认交易一分钟左右延迟,同时可扩展到许多用户。 Algorand确保用户永远不会就已确认交易的视图产生分歧,即使某些用户是恶意的和网络已临时分区。相反,现有的加密货币允许暂时分叉,因此需要很长时间(大约1小时)以高信心确认交易。
Algorand使用新的拜占庭协议(BA)协议在用户之间就下一组交易达成共识。为了将共识扩展到许多用户,Algorand 使用基于可验证随机函数的新颖机制,允许用户私下检查他们是否被选择参加BA就下一交易达成协议,并在他们的网络消息中包含选择的证明。在Algorand的BA协议中,用户除了私钥外,不要保留任何私密状态,允许Algorand在参与者发送消息之后立即替换他们。这样可以缓解在选定参与者的身份被揭示之后的针对性攻击。
Algorand在不到一分钟的时间内确认交易,实现了125倍比特币的吞吐量,并且几乎不会因扩展到更多用户而受到任何惩罚。

搭建环境

参考github中algorand项目搭建基本环境,主要步骤如下:(本文是ubuntu 20.04 Go语言下algorand的实施)
1.下载GO、ubuntu配置
2.导入项目包:
git clone https://github.com/algorand/go-algorand
3.配置项目:
cd go-algorand
./scripts/configure_dev.sh
4.建立数据目录:
mkdir ~/node
cd ~/node
5.下载脚本并更新客户端:
mkdir ~/node
cd ~/node
curl https://raw.githubusercontent.com/algorand/go-algorand-doc/master/downloads/installers/update.sh -O
chmod 544 update.sh
./update.sh -i -c stable -p ~/node -d ~/node/data -n

使用go-algorand与algorand网络建立连接(IDE:goland)

  • 执行主程序go-algorand/cmd/auctionconsole/main.go,报错“auction key and api token are both required“

    Api token 就是连接节点用的algod.token
  • 设置auction来找auction key,执行algod/main.go时出现“g++: exec: “g++”: executable file not found in $PATH”错误
    在这里插入图片描述
    G++原来是linux系统中c++的编译器,使用“sudo apt install g++”指令在安装了这个编译器后,程序出现正常的编译。
    在这里插入图片描述
  • 接下来我发现项目/cmd里有好多main.go,下一步我就要决定哪个main.go才是程序的入口,依旧执行algod/main.go来将区块与Algorand建立连接,报”没有数据“错误
    在这里插入图片描述
  • 设置数据目录文件,并在程序开始处:相应常量位置修改给出的数据文件目录路径
    在这里插入图片描述
    程序运行正常,给出了相应的algod.token、algod.net等基本信息,节点开始启动,详细信息如下:
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值