区块链技术不是仅仅只能在大型服务器集群上运行,两台普通的电脑同样能够搭建出一条功能完备的私有链或者联盟链。好多人错误认为区块链必定要依赖大量节点以及高性能硬件, 实际上对于测试、学习或者小范围应用而言, 双节点网络是完全足够的。本文依据实际操作展开, 带领你去了解两台机器怎样去做区块链, 涵盖环境准备、节点配置以及数据同步等关键步骤。
核心网络架构怎么选
做区块链的两台机器, 首先得确定网络类型。最常见的方案是搭建以太坊私有链, 或者搭建Hyperledger Fabric的简单网络。私有链能让两个节点自行定义共识机制, 不受主网约束限制, 所以合适用来开发调试。联盟链对于企业间两台服务器的数据共享而言, 更加适用。
倘若你所运用的是以太坊Geth客户端, 那么会有两台机器, 它们分别被当作节点A以及节点B。节点A会去创建创世区块文件genesis.json, 并且对初始配置加以定义, 诸如链ID、共识算法以及初始账户。这两台机器必须运用完全一样的创世文件, 不然的话就没办法得以彼此识别。节点B要借助节点A的enode地址来进行手动连接, enode地址当中涵盖A的IP以及端口, 要是机器并非处于同一局域网, 那就需要在路由器上开展端口转发或者使用公网IP。
对于Hyperledger Fabric来说, 存在这样一种情况, 两台机器能够分别承担Orderer节点以及Peer节点的角色, 又或者是各自运行一个Peer去与外部Orderer进行配合。这样的一种方式, 于真实企业部署而言更为贴近, 然而其配置参数数量较多, 适合存在一定基础的用户。
节点间数据如何同步和通信
两台机器构成区块链之后, 最为关键的要点是保证数据一致性以及通信稳定。在以太坊私有链里边, 节点A开启之后着手挖矿去生成新区块, 节点B作为对等节点之际会自行同步收到的区块。你得去检查节点B的日志, 以此来确认它是不是成功接入了节点A的共识网络。
要是发觉节点B一直没办法同步, 常见缘由涵盖防火墙阻拦了30303端口, 创世文件的chainID不一样, 或者两台机器的系统时间相差太多。建议先于本地局域网作测试, 运用静态IP防止动态IP变动致使连接中断。两台机器能够设置固定peer, 比如在节点B的启动参数里添加--bootnodes参数, 直接指明节点A的enode地址。

完成数据同步之后, 测试转账交易能不能够跨节点广播, 在节点A发起一笔交易, 节点B的账户余额应当能够实时更新, 要是出现交易堆积或者共识失败的情况, 可以尝试降低区块生成难度, 让CPU挖矿更加顺畅, 两台机器做区块链的时候, 硬件配置不需要太高, 不过建议至少2核4GB内存, 操作系统统一为Ubuntu 20.04或者CentOS 7以上版本。
将两台机器用于搭建区块链, 虽说规模较小, 然而却能够完整地展现出区块链的分布式账本, 以及共识机制, 还有点对点通信原理。不管是用于学习测试, 亦或是进行小规模应用, 只要掌握了这个基础, 那么其后扩展更多节点仅仅是配置参数的复制以及调整而已。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://m.zmdyd.cn/imazbqb/8211.html
