区块链的生出来, 听着是很玄乎的, 说白了其实就是从零开始把一条链亲手搓造出来这件事。它不是写好一个智能合约就算是全部搞定了的, 必须得把共识算法、生成区块、还有节点之间相互通信这一整套骨架结构全都搭建到位才行。
我平时带着新入行的同事的时候, 老是这样对他们讲, 盖高楼大厦先得打好地基, 你做的这个区块链, 就是那个地基。

具体要怎么做呢, 可以拿Go或者Rust去把出块的时间间隔、区块的具体结构以及哈希的规则全都固定下来, 再编写节点之间的通信协议。
这就是给链定脾气的意思, 例如规定几秒钟出一个块、由谁来负责打包、交易是怎么排列的。去年我帮助一个物联网团队生成一条侧链的时候, 光是调整参数就耗费了两个星期的时间, 这件事是急不得的。
问题到底出在什么地方呢, 很多刚入门的人在配置创世区块这个环节容易忽视, 导致节点一旦启动就会互相冲突, 各自认定不同的第一块区块链数据, 这种情况需要避免照搬以太坊的方案, 因为在小型应用场景中那些功能确实用不上, 通常情况下建议首先运行基础版本即可, 只要能够实现产生区块、同步数据和记录交易这些基本功能就完全足够了, 其他复杂的设置在之后逐步添加即可, 不要一开始就尝试一些华而不实的功能。
