ETH 测试环境部署合约

在测试环境中部署ETH合约,比较常见的方法是使用truffle框架,但是个人感觉相对比较麻烦,而且互操性不是很好,不如UI直观,所以这里推荐几个通过MetaMask结合其他工具进行部署的方式。

工具

  1. MetaMask
  2. Remix
  3. MyEtherWallet

步骤

  1. 搭建私链节点
  2. 配置MetaMask连接到私链节点
  3. Remix编写合约,连接MetaMask进行部署
  4. 使用MyEtherWallet连接MetaMask进行合约的方法调用

常见错误

invalid sender 注意配置MetaMask中的chainId

使用command调用MetaMask

有的情况下MyEtherWallet不是很好用,可以直接F12 打开命令行进行操作

1
2
3
4
5
6
7
ethereum.enable() //打开开关

let abi = [...]; //定义必须的变量

let contract_1 = web3.eth.contract(abi).at('0xd7c1cba34991e66a10a6746c65d6f653ad594f79'); //加载合约

contract_1.create(['0xE1Ba26A43eBB9439a8229C58DED638c0b0Eb043F', '0xA6651837A2d015f727C90adBf779Eda04802c0D5'], 2, function(error, result){}) //调用钱包进行处理,注意使用callback处理所有的调用,不能使用同步的方式

Remix 操作合约

Remix中也是可以操作合约的,只不过入口相对隐蔽,不好发现。

  1. 在Deploy下边有一个根据地址加载合约的操作,可以加载线上的合约;
  2. 在Deploy完成后,或者从地址加载合约完成后,下方会显示相应的合约操作及函数,直接继续操作即可;