用MetaMask,Remix,holskey创建并使用智能合约

发布时间 2023-12-03 17:07:29作者: 芜光

《精通以太坊————实现数字合约》这本书有点久了,而软件都在进步,所以摸索过后记录一下操作。
参考文献:https://github.com/inoutcode/ethereum_book/blob/master/第二章.asciidoc#ether_denominations
https://remix.ethereum.org/
参考环境:MetaMask、Remix、Holskey

用MetaMask和Remix创建合约、部署合约

img
不知道这样操作是不是正确的,反正如果是刚写好的sol文件,要切换到对应页面,左边的“合约”才能正确显示sol文件。然后就可以进行部署了。
img
要向测试网络发出合约部署的申请。处理不需要太长时间,可以关注自己MetaMask的活动记录有没有交易或者看浏览器的通知。
确认合约建成
Remix显示正常
交易完成之后就可以用自己写的合约了。注意在上图对应部分复制合约地址。
img
img

使用合约

需要先知道上面的合约地址。上面提到在Remix复制,也可以去交易详情去复制。
img

为合约提供资金

img
img

从合约中提取资金

注意单位是wei,非常小,现在提取0.1eth,所以要输入100000000000000000。
img
img
等到MetaMask通知之后,再去看一下交易情况。
img
img
img
书本原话:

我们现在看到一个新的交易,其中合约地址是目标地址,0 ether。合约余额已经改变,现在是0.9 ether,因为它按要求给了我们0.1 ether。但是我们在合约地址历史记录中看不到“OUT”交易。
提款的交易在哪里?合约的地址历史记录页面中出现了一个名为“内部交易(Internal Transaction)”的新选项卡。由于0.1 ether传输源于合约代码,因此它是一个内部交易(也称为_message_)。点击“内部交易”标签查看:
这个“内部交易”是由合约在这行代码中发送的(Faucet.sol 的 withdraw 方法)