dapp智能合约系统开发的核心点在哪里?



DApp的架构我们可以简单分为以上三种类型:轻钱包模式、重钱包模式和兼容模式。

轻钱包模式
轻钱包模式下我们需要有一个开放Http RPC协议的节点与钱包通信,这个节点mkz888z可以是任意链上的节点。轻钱包通常会作为一个浏览器插件存在,插件在运行时会自动注入Web3框架,DApp可以通过Web3与区块链节点通信。当DApp只是单纯的获取数据时是不需要钱包介入的,但是当DApp需要发送交易到链上时需要通过钱包完成对交易签名的过程。
优点:不需要用户同步区块链节点就可以使用
缺点:需要一个公开的节点提供服务,可能会存在安全性问题

重钱包模式
重钱包会自己同步并持有一个区块链节点,提供一个浏览器环境,其他与钱包相似。
优点:自己持有并同步节点,安全性高
缺点:需要持有一个全量的区块链节点

兼容模式
兼容模式可以在轻钱包和重钱包下同时使用,与钱包通信的节点可以选择在钱包外本地持有,也可以自己搭建服务持有并公布节点。

DApp开发
理解了DApp的架构设计就可以开始一步步的搭建我们的DApp了,这里我们不选择用各种成熟的框架。从最基础的开始,会更容易理解核心的思想。选择一个轻量级的钱包插件MetaMask,安装并创建自己的账号。
MetaMask默认会提供以下节点可以使用:

Main Ethereum Network
Ropsten Test Network
Kovan Test Network
Rinkeby Test Network
Localhost 8545
当然你也可以手动添加自己的节点

编写并编译智能合约
以太坊提供一个图灵完备的开发环境,理论上可以构建任意复杂的智能合约,但是也要考虑到越复137杂6746的0149逻辑越容易出错,并且会消耗更多的Gas,因此在设计上需要谨慎考虑。

你可能感兴趣的:(比特币,区块链,分布式)