分享实录|以太坊开发需知
1 以太坊开发与传统应用开发的差异 相比起传统应用而言,以太坊开发引入了新的基础设施,由此必不可少的带来了部署和运维的复杂度,比如作为系统设计者,我们需要做出选择: 自建节点,还是信任第三方节点? 公有链、联盟链、私有链? 由于加入了新的设计单元:智能合约,我们将面对 设计的复杂度 合约的升级问题:因为智能合约一旦发布就无法更改,万一需要更新合约错误或规则,怎么办? 合约的组织问题。 与一般代码不同,合约的好坏直接与金钱挂钩 不安全的合约会造成客户的金钱损失,立竿见影。 合约的每一步都需要消耗gas,不讲究的合约会造成执行成本高居不下。 并且,以太坊本身的限制同样也会影响到整个应用系统的设计和选型: 交易确认需要时间:20笔/秒 交易易受外界影响 交易费的高低 流行应用会造成网络拥堵,从影响交易的确认 相比起传统CS编程,与以太坊进行交互要复杂得多: 需要有钱包账户 发出去的交易需要签名 由于整个过程是异步为主,因此交易需要验证 对于区块链本身的定位,同样也会影响设计: 仅仅用作数据共享和防篡改的基础设施? 围绕区块链打造价值网络? Token设计模式 Token引入对于业务本身带来的影响 这一点尤其差异巨大,不单单像传统开发那样仅仅只需要了解用户的业务就可以开足马力前进。Token设计本身需要一定的经济常识,虽说这部分可以由专业背景的人来设计,但对于开发者和架构师而言