架构对比
中⼼化应⽤
- web2.0
- 
去中⼼化应⽤
-
web2.0

开发对比
中⼼化应⽤
- UI呈现
- http请求
- 后端服务程序
- 服务器Nginx/Apache
去中⼼化应⽤
-
UI呈现
- 钱包/Dapp浏览器
-
rpc请求
- ethers.js
-
智能合约
-
EVM节点
-
两个主要特点:
- 交易离不开钱包
- 交易是异步的
前端与合约交互
- Ethers.js/Web3.js:⼀套和以太坊区块链进⾏交互的库,RPC 接⼝封装
- 安装:
npm install --save ethers - 使⽤ ethers.js 调⽤ ERC20 合约示例:
var abi = [];
var addr = "0x...";
var contract = new ethers.Contract(address, abi, provider);
contract.transfer(targetAddress, amount)
.then(function (tx) {
console.log(tx);
});开发流程
- 链接钱包(Provider)
- 初始化合约
- 从合约获取数据、发起交易