欢迎光临散文网 会员登陆 & 注册

ADA币开发(一)运行节点,加入测试网络

2021-03-02 14:28 作者:罐头YK  | 我要投稿

警告:

  1. 本文为原创,禁止任何非授权的转载

  2. 本文不构成任何投资建议,币市很凶险,投资需谨慎

  3. 本文基于个人对 Cardano 官方文档的理解和实践经验,不排除有错误的可能,由此造成的损失,本人不承担任何责任

写在前面

作者在最早接触到比特币是在2012年,然而因为年少无知,错失了比特币最早的投资机会,继而对整个加密货币市场心灰意冷。直到最近,由于某些契机,才重新开始研究开始加密货币。经过一系列比对,作者对 ADA(Cardano)产生了浓厚的兴趣。

ADA 与大众熟知的 比特币 和 以太坊 不同,属于 PoS 类型货币。用最简单的话来解释,共识的建立,并非通过算力来证明,而是靠权益来证明,因此不需要耗费大量的算力来挖矿。

ADA 目前是市值第三大的加密货币,然而 ADA 的开发却一直以慢工出细活著称,直到最近上线的 Mary 版本,才具备了“原生代币”的功能,“智能合约”功能的上线,仍需一些时日。从另一个方面来看,一个还不能二次发币炒作的加密货币,能做到第三大市值,足见底子的深厚。

因此,作者花了些精力,阅读了官方开发文档,并把一些内容进行总结。如果有计划研究加密货币代码,甚至于发行货币的读者,可以进行参考。

本文内容

如果你只是想投资加密货币,那么只需要挑一个靠谱的交易所,投钱进去就行了。

而如果你想要了解加密货币的开发,亲自运行节点程序是必不可少的一步。

ADA 官方维护了一个测试网络,与正式网络相比,测试网络具备一些尚未部署的功能,并且测试网络的货币是可以自由申请的,所以很适合开发用途。

本文将介绍如何编译 ADA 节点程序,运行节点程序,并加入 ADA 官方测试网络。

先决条件

与官方文档一致,本文以 Linux 平台为例(Debian 10),因此默认读者具有基础 Linux 操作经验,本文不再在基本概念上做过多解释。

官方建议为 ADA 节点程序准备 2 核心 CPU 和 4 G 内存。鉴于克隆代码,下载第三方包均需要访问海外网络,作者建议用户直接购买一台海外云主机,作为开发平台。

命令介绍

ADA 节点为典型的 C/S 架构。

cardano-node 为节点主进程程序,cardano-cli 为命令行工具。

cardano-node 作为主进程,负责与网络上其他节点通信,实时更新最新的区块信息,维护共识。如果你的机器资源足够强大,你可以配置 cardano-node 成为出块节点,获取收益。

cardano-cli 是命令行工具,允许用户与 cardano-node 进行交互。执行诸如公私钥生成,签署事务,提交事务到网络等等功能。

安装编译器

ADA 所有代码均使用 Haskell 语言编写,因此需要先安装 cabal (Haskell 的包管理器)和 GHC (Haskell 的编译器)

安装依赖库

以 Debian 10 为例,安装操作系统依赖库

安装 Cabal 和 GHC

Haskell 官方提供预编译好的 deb 包,因此可以不用参考 Cardano 教程手动安装 Cabal 和 GHC

至此 cabal 和 ghc 命令安装完成,可以通过敲击以下命令来验证

安装定制版 libsodium

libsodium 是一个著名的加密解密库,Cardano 的开发公司 IOHK 维护了一个 libsodium 的分支版本,提供了一些额外的功能。

要编译 ADA 节点程序,必须先编译安装定制版的 libsodium。

编译 ADA 节点代码

终于到了最重要的一步,编译 ADA 节点程序代码

编译过程可能耗时长达半个小时,因此需要耐心等待,如果没有意外,最终能正确构建 cardano-node 和 cardano-cli 两个可执行程序

将可执行程序复制到 /usr/local/bin 以完成安装

可以敲击如下命令来验证

建立工作目录

上面已经完成了 cardano-node 和 cardano-cli 两个命令的编译,下面就要着手建立工作目录,准备真正运行了

启动节点

所有准备工作已经妥当,下面是最激动人心的一步了,启动测试节点。

首先要保证你的云主机防火墙开放了 3001 端口,允许其他节点访问你自己的 3001 端口;然后从云主机厂商那里获取你的服务器公网地址。

最后执行以下命令,即可启动 cardano-node 节点,并连接到测试网络

正常情况下,你会看到一堆输出信息,表示 cardano-node 正在与测试网络同步最新的区块信息。

cardano-node 输出

由于上述命令会运行 cardano-node 并占用当前命令行,因此需要新开一个命令行,或者使用 tmux 终端复用程序新开窗口。

输入以下命令验证

不出意外,cardano-cli 也应该能获取到当前区块信息

cardano-cli 输出

至此,你的 cardano-node 节点已经成功地和 ADA 测试网络建立了连接,现在你可以放置一个晚上,让你的 cardano-node 节点完成区块数据同步。

记得使用 tmux 终端复用程序,或者使用 systemd service 文件,让你的 cardano-node 能够后台运行,防止你与服务器连接断开,导致进程退出。

下期预告

下一期,我会告诉你如何创建一个 Cardano 钱包地址,并从官方那里要到 1000 测试 tADA 币

参考资料

https://docs.cardano.org/projects/cardano-node/en/latest/getting-started/install.html

https://docs.cardano.org/projects/cardano-node/en/latest/stake-pool-operations/getConfigFiles_AND_Connect.html

https://downloads.haskell.org/~debian/

赞助

ADA 地址:addr1q9aemmfl4qr8sjp2xj5zupzvuamuw36z5awv865qt0lsl3pj72alpak07tadfuusgl5guq3ndtr3r2aknt4c3tgny7eqna8kkj

BTC 地址:bc1q5s6wwn3f4nj9sygv9fzwzuuuqqve0323mnwf8e


ADA币开发(一)运行节点,加入测试网络的评论 (共 条)

分享到微博请遵守国家法律