solidity智能合约[44]-以太坊测试网络与metamask

测试网络

在之前的案例中,大部分都是在remix在线的本地虚拟环境下做的测试。这一小节将在以太坊测试网络中交互合约。
除了主网、以太坊有多个测试网络,用于对于智能合约进行测试。那么之间的主要区别在于共识算法以及确认时间。

网络 网络id 共识算法 确认时间
Main 1 POW 15秒左右
Ropsten 3 POW 不到30秒
Ropsten 4 POA 仅geth支持 15秒
kovan 42 POA 仅parity支持 4秒

remix部署智能合约到测试网络的流程

1、书写智能合约
2、solc编译器编译合约为二进制文件与ABI接口文件
3、借助于web3j库将二进制文件部署到智能合约。
4、借助于web3j库于ABI接口于网络进行交互

metamask

在浏览器中,我们需要借助于metamask与以太坊网络进行交互。metamask是一个谷歌浏览器的插件,其可以管理账户,并在浏览器与以太坊网络之间起到架接的作用。
其存储私钥但是只是将数据签名后的信息传播,所以并不会将私钥传播到互联网上。其本质是在浏览器中注入了web3的库,利用web3j实现与以太坊网络的交互

测试网络之间的关系

相同的外部地址和合约地址可以同时存在于不同的测试网络中,但是可能有不同的以太币,不同的部署代码。这是由于测试网络之间本身互不影响。

助记词(Mneminic)

在安装metamask的时候,会有12个助记词。助记词的作用是为了方便进行账户的管理。想象一下当你有多个账户,不同的账户可能处理不同的业务。例如消费、存储、商业活动。我们如果每一个账户都需要把私钥存储起来,那就太费劲了。因此我们使用了12个助记词来帮助我们管理账户。12个助剂词,根据以太坊bip39算法,可以对应着10多个账户的私钥。