主页 > tp钱包和imtoken钱包通用吗 > 使用 Remix 编译和部署以太坊智能合约

使用 Remix 编译和部署以太坊智能合约

tp钱包和imtoken钱包通用吗 2024-01-26 05:11:01

以太坊remix汇智网

Remix是一个开源的Solidity智能合约开发环境,提供编译、部署到本地或测试网络、执行合约等基本功能。 Solidity 是以太坊官方设计并支持的一种开发语言,专门用于编写智能合约。

本文希望在本地和测试网络部署一个非常简单的代币合约(仅发行和转账)来测试其功能。

详细描述使用Remix的步骤和使用中可能遇到的问题。

之前开发过以太坊智能合约,但是没有记录开发过程和遇到的问题,有点遗憾。 这次重新开始,从最基础的开始,循序渐进的学习。

开发环境

无需安装,只需在任何浏览器中直接启动 Remix。

以太坊remix汇智网

获取代币合约

有很多代币合约的例子。 以太坊官网提供了一个最小可执行代币合约(MINIMUM VIABLE TOKEN):

pragma solidity ^0.4.0; contract MyToken { /* This creates an array with all balances */     mapping (address => uint256) public balanceOf;          /* Initializes contract with initial supply tokens to the creator of the contract */     function MyToken(uint256 initialSupply) public {         balanceOf[msg.sender] = initialSupply;                       // Give the creator all initial tokens     }          /* Send coins */     function transfer(address _to, uint256 _value) public {         require(balanceOf[msg.sender] >= _value);                    // Check if the sender has enough         require(balanceOf[_to] + _value >= balanceOf[_to]);          // Check for overflows         balanceOf[msg.sender] -= _value;                             // Subtract from the sender         balanceOf[_to] += _value;                           // Add the same to the recipient     } } 

这个 MyToken 合约非常简单,只能做两件事:

创建代币:在发起合约时创建指定数量的代币,代币的所有者为发起合约的以太坊账户转账:将指定数量的代币转入指定的以太坊账户

以太坊智能合约开发_以太坊智能合约编写_以太坊智能合约的众筹

完整的代币合约请参考《ERC20代币用户手册》。

使用Remix编译合约,点击右上角+添加新的合约名称,只要扩展名为“.sol”即可。

以太坊remix汇智网

将合约内容复制到本合约中,编译Remix。 默认设置将自动编译。 只要旁边没有红色的错误提示,就说明编译成功。

以太坊remix汇智网

在本地部署合约

1、设置好网络,点击左上角的运行。

以太坊remix汇智网

Environment 选择JavaScript VM意味着所有数据都存储在本地(类似于testrpc)。 它将提供5个虚拟账户,每个账户100 ETH,随机选择一个账户(记住以后总是使用它)。

以太坊remix汇智网

2.选择MyToken发送交易部署合约。 您可以看到创建按钮。 并且根据合约的内容,已经显示必须输入initialSupply(即要发行的代币数量)。 输入一个数字,点击创建发送交易部署合约。

以太坊智能合约开发_以太坊智能合约的众筹_以太坊智能合约编写

以太坊remix汇智网

合约部署成功后,可以看到合约的界面。 Remix会根据合约内容自动生成对应的合约用户界面。 可以看到合约有两个函数:balanceOf(查询余额)和transfer(转移代币)。

以太坊remix汇智网

您可以在底部看到日志(记录每个操作)。 其实部署合约是通过一笔以太坊交易完成的,点击详情可以看到这笔交易的详情。

以太坊remix汇智网

执行合约——查询余额

1.选择刚刚发起合约的账户

以太坊remix汇智网

您可以点击右侧的按钮进行复制

2、输入账号,注意用“”把账号括起来,例如:

"0xca35b7d915458ef540ade6068dfe2f44e8fa733c" 

以太坊智能合约的众筹_以太坊智能合约编写_以太坊智能合约开发

3.点击balanceOf

可以看到执行结果,就是当前账户的token余额。

以太坊remix汇智网

可能的错误情况

注意,因为数据传输是JSON格式,所以必须加上“”。 如果您忘记了“”,您将在日志中看到一条错误消息:

以太坊remix汇智网

执行合约——转移代币

1. 选择要输出的账户 选择刚刚发起的合约的账户。

以太坊remix汇智网

2. 输入要转账的账户,选择复制其他账户。 在合约接口转账后面的输入位置,输入转账账户和要转账的代币数量。 账号也需要用“”括起来,例如:

"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db", 10 

以太坊智能合约开发_以太坊智能合约编写_以太坊智能合约的众筹

3.点击转账 点击转账,成功后会看到日志更新。

以太坊remix汇智网

4.确认余额更新。 这时候查看转账账户的余额,可以看到代币余额增加了!

以太坊remix汇智网

错误情况 如果转账账户的token余额不足,交易会失败,并在日志中显示错误信息。

以太坊remix汇智网

在测试网络上部署合约

1. 安装MetaMask 首先,要连接到测试网络,您需要安装MetaMask。 它是一个浏览器端的以太坊钱包,可以连接到以太坊公共和测试网络。 安装后需要创建以太坊账户,这里不再赘述。

这是启动成功后的样子。

以太坊remix汇智网

以太坊remix汇智网

以太坊智能合约开发_以太坊智能合约的众筹_以太坊智能合约编写

以太坊remix汇智网

我们选择 Ropsten 测试网

2.选择测试网络

回到Remix,这次Environment选择Injected Web3,Remix会自动连接MetaMask。

以太坊remix汇智网

连接成功后,您将看到与 MetaMask 相同的账户和 Ether 余额

3. 部署合约 然后用同样的方法,点击创建部署合约,你会看到MetaMask弹窗。 只需按提交即可发送交易。

以太坊remix汇智网

稍等片刻(需要等待交易确认),部署成功后会出现合约的用户界面。

以太坊remix汇智网

好的,现在你可以用同样的方式使用合约了!

总结

Remix 为 Solidity 智能合约提供了一个开发环境,可以很容易地编译、部署、执行,甚至可以查错以太坊智能合约开发,适合编程经验不多的初学者。 但是,版本控制、测试和与其他开发工具一起使用是不可能的。 其实开发DApp以太坊智能合约开发,使用Truffle3、Ganache、web3.js编译部署合约更方便、更专业,更适合开发者。

推荐一个适合区块链初学者的以太坊DApp开发教程: