建议和反馈

请填写你的反馈内容

创建,测试和部署以太坊智能合约的步骤

2019-12-03 ·671次阅读 ·读完需要11分钟

本文为大家分享创建,测试和部署以太坊智能合约的几个步骤,在开始之前,我们首先了解一下什么是智能合约?

什么是智能合约?

智能合约是业务逻辑或协议,根据该逻辑或协议可以进行区块链上的所有交易。智能合约的总体目标是满足通用合约条件。例如,如果我们想在以太坊上创建自己的代币,则需要开发智能合约,根据这些合约,我们将对代币进行所有计算。

它是一个用Solidity编写的独立脚本,可编译成JSON,并部署到区块链上的特定地址。就像我们可以调用RESTful API的URL端点以通过HttpRequest运行某些逻辑一样,我们可以通过在Ethereum中输入准确的数据来调用已编译和部署的Solidity函数,从而在特定地址类似地执行已部署的智能合约。

可以按与包含代码的存储大小成比例的费用将智能合约部署到去中心化数据库。也可以将其定义为存储在区块链网络中的代码集合,定义合同中各方应同意的条件。

我们将分享一个使用Solidity编程语言的以太坊智能合约的例子。因此,首先要了解什么是Solidity。


什么是坚固性?

Solidity是一种类似于JavaScript的语言,专门用于创建智能合约。它是静态类型的,并支持库,继承和复杂的用户定义类型。

Solidity编译器将代码转换为EVM字节码,然后将其作为部署事务发送到以太坊网络。与智能合约交互相比,此类交易具有更高的费用,并且合约所有者必须支付这些费用。

牢固地创建和部署以太坊智能合约

MetaMask Chrome扩展

MetaMask既充当以太坊浏览器又充当钱包。它允许您与Web上的智能合约和dApp进行交互,而无需下载区块链或安装任何软件。您只需要将MetaMask添加为Chrome扩展程序,创建钱包并提交Ether。

尽管MetaMask当前可用于Google Chrome浏览器,但预计在未来几年中也将为Firefox启动。

在开始编写智能合约之前,请下载MetaMask Chrome扩展程序。

下载并添加为Chrome扩展程序后,您可以导入已创建的钱包,也可以创建新的钱包。您必须在以太坊钱包中有一定数量的以太币,才能在网络上部署以太坊智能合约。

MetaMask入门

开发以太坊智能合约的步骤

1.在MetaMask上创建一个钱包

在您的Chrome浏览器中安装MetaMask并启用它。安装后,单击浏览器页面右上方的图标。单击它会在浏览器的新选项卡中将其打开。

单击创建钱包,然后单击我同意继续进行操作,以同意条款和条件它将要求您创建一个密码。

创建密码后,它将向您发送一个秘密备份短语,可用于备份和还原帐户。请勿透露或与他人共享,因为这句话会夺走您的以太币。

秘密备份短语

接下来,确保您位于以太坊主网络中如果您在“ Main Ethereum Network ”旁边找到一个勾号,那么您来对地方了。

2.选择一个测试网络

您可能还会在MetaMask钱包中找到以下测试网络:

  • 罗伯斯顿测试网

  • Kovan测试网络

  • Rinkeby测试网络

  • Goerli测试网络

选择一个测试网络

以上网络仅用于测试目的;请注意,这些网络的以太网没有实际价值。

第3步:在钱包中添加一些虚拟乙醚

如果要测试智能合约,则您的MetaMask钱包中必须有一些虚拟的以太币。

例如,如果要使用Robsten测试网络测试合同,请选择该合约,您会在帐户中找到0 ETH作为初始余额。

要添加虚拟以太,请单击Test Faucet的  Deposit and Get Ether按钮

存入以太


要继续,您需要单击请求从水龙头中获取1醚,然后将一个ETH添加到您的钱包中。您可以在测试网络中添加任意数量的以太。

MetaMask醚水龙头


例如,在这种情况下,我添加了一个ETH。

一ETH

将虚拟的以太币添加到钱包后,您就可以在Solidity中的Remix Browser IDE上开始编写智能合约。

4.使用Editor Remix牢固地编写智能合约

我们将使用Remix Browser IDE编写我们的Solidity代码。Remix是编写智能合约的最佳选择,因为它具有一些功能并提供了全面的开发经验。

它通常用于编写较小型的合同。Remix的功能包括:

  • 警告,例如燃气成本,不安全的代码,检查重叠的变量名称以及函数是否可以恒定。

  • 语法和错误突出显示。

  • 具有注入的Web3对象的功能。

  • 静态分析。

  • 集成调试器。

  • 集成的测试和部署环境。

  • 直接部署到Mist或MetaMask。

让我们从这里开始编写智能合约代码

5.创建一个.sol扩展文件

打开Remix Browser,然后单击浏览器左上方左上的加号图标以创建.sol扩展文件。

6.用于创建ECR20令牌的智能合约代码

ERC20.sol是ERC20令牌的标准模板。

语用强度^ 0.4.0; 
导入“ ./ERC20.sol”;
合同myToken是ERC20 { 
mapping(address => uint256)公共金额;
uint256 totalAmount; 
字符串tokenName; 
字符串tokenSymbol; 
uint256十进制;
constructor()public { 
totalAmount = 10000 * 10 ** 18; 
amount [msg.sender] = totalAmount; 
tokenName =“ Mytoken”; 
tokenSymbol =” Mytoken”; 
十进制= 18; 

函数totalSupply()公共视图
return (uint256){ return totalAmount; 

函数balanceOf(地址to_who)公共视图return 
(uint256){ 
return amount [to_who]; 

函数传递(地址to_a,uint256 _value)公共

return (bool){ require(_value <= amount [msg.sender]); 
amount [msg.sender] = amount [msg.sender] -_ value; 
数量[to_a] =数量[to_a] + _ value; 
返回true;

}

从Remix中选择一个编译器版本,以编译以太坊智能合约代码。

7.部署合同

按下Remix窗口右侧的部署按钮,在以太坊测试网络上部署智能合约。等待交易完成。

事务成功提交后,智能合约的地址将在“重新混合”窗口的右侧可见。首先,所有ERC20令牌都将存储在部署智能合约的用户的钱包中。

要检查钱包中的令牌,请转到MetaMask窗口,单击“添加令牌”,输入智能合约地址,然后单击“确定”。您应该能够在那里看到令牌的数量。

测试以太坊智能合约

  1. 尝试运行您的智能合约的所有方法,例如transfer,totalSuppy和balanceOf(在上述智能合约示例中)。这些方法位于“ Remix”窗口的右侧,您可以从那里运行所有方法。

  2. 尝试将一些令牌转移到其他以太坊钱包地址,然后通过调用balanceOf方法检查该地址的余额。

  3. 尝试通过调用totalSupply方法获取总供应量。

部署以太坊智能合约的步骤

  1. 为了使您的智能合约生效,请切换到MetaMask上的主要以太坊网络。

  2. 添加一些真实的醚。

  3. 现在,如上述步骤所述,再次使用remix部署智能合约。

  4. 成功部署智能合约后,请访问http://www.etherscan.io并在此处搜索您的智能合约地址。选择您的智能合约。

  5. 现在,您需要在此处验证智能合约,点击验证合约

  6. 复制您的智能合约代码并将其粘贴到Etherscan。选择您在重新混合时选择的相同编译器版本来编译代码。

  7. 检查优化  ,如果你已经在混音选择优化; 否则,选择

  8. 点击验证

  9. 这将需要几分钟,如果没有问题,您的智能合约将生效。

现在,您可以在Etherscan运行您的智能合约方法。


评论(0)问答(0)
请先登录或注册

请先登陆或注册

相关推荐

三两谈币:币圈追求财富自由的几种姿势?

有人说币圈一日,股市一年,币圈在不断演绎创富神话的同时,也会让人一夜返贫。如果说币圈里面,什么是最吸引眼球的字眼,别说什么科技,也别说什么信仰,最最吸引眼球的是四个字“财富自由”。不同的币圈众人用不同......
ofbing88 · 2019-12-09
144阅读 · 0赞赏 · 0问答

李向午:主流币处于震荡上行状态,多头可区间内操作

李向午:主流币处于震荡上行状态,多头可区间内操作  比特币行情分析  昨日比特币价格如笔者所料上行至7600后遇阻回调以7500附近收盘得阳。近日来比特币还是未能脱离震荡区间。今日价格继续在7300-......
李向午 · 2019-12-08
387阅读 · 0赞赏 · 0问答

李向午:保持短空间内操作,狭道亦可获利

李向午:保持短空间内操作,狭道亦可获利  比特币行情分析  比特币上行突破7500点,在触及7600上方位置后触顶回弹。日线图中,布林带呈收口状态,价格在布林带上行通道运行,布林带中轨在7500位置给......
李向午 · 2019-12-07
449阅读 · 0赞赏 · 0问答

以太坊Azure区块链中创建自己的加密货币

如此长的时间以来,“区块链和加密货币”已经成功地破坏了市场。他们在行业中产生的影响是巨大的。看起来它有自己的未来,所以我想写些有关它的东西。在本文中,我们将在Azure中创建我们自己的加密货币和我们自......
Blockchain · 2019-12-07
583阅读 · 0赞赏 · 0问答

李向午:主流币市场陷入震荡,操作者还需谨慎

李向午:主流币市场陷入震荡,操作者还需谨慎  比特币行情分析  比特币昨日登上7500位置后未能企稳,又回调至7350附近位置收盘得阴。  日线图中布林带开始收口,价格运行在布林带下行通道,布林带下轨......
李向午 · 2019-12-06
677阅读 · 0赞赏 · 0问答

以太坊区块链教程从零开始学

从头开始的以太坊区块链教程 是当今的热门话题。 区块链 现在是  Google 搜索量最大的关键字之一,你们中许多人已经听说过 &......
比特币 · 2019-12-06
694阅读 · 0赞赏 · 0问答

15931

LK币

35

粉丝

391

笔记

感谢"区块链社区"

这篇精彩的笔记,目前已经帮助

  • 0
  • 0
  • 6
  • 7
  • 1
喜欢0
链客社群 加入

微博进入

商务合作>

广告投放>

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

感谢您的提问,问题被社区永久收入以便新人查看。一定要记得采纳最佳答案哦!加油!

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!