用Solidity语言通过以太坊钱包开发hello world示例

hubwiz · · 1769 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

使用**以太坊钱包开发**实现经典的HelloWord智能合约类。本文中,我们将看到如何编写简单的合约并将其部署到区块链上。我们还将通过发送和读取数据来了解如何与我们的智能合约进行交互。 Solidity的合约语法实际上与面向对象编程语言中的类很类似。智能合约有我们可以调用的函数和可以存储和读取的变量。 我们的`Counter`合约将存储它被调用的次数,使这个值可供每个人从区块链上读取。 ``` pragma solidity ^0.4.11; contract Counter { /* define variable count of the type uint */ uint count = 0; /* this runs when the contract is executed */ function increment() public { count = count + 1; } /* used to read the value of count */ function getCount() constant returns (uint) { return count; } } ``` 1.首先要发布我们的智能合约到区块链上,打开以太坊钱包 Ethereum Wallet,点击 “智能合约” contracts。 ![](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/hello_world_1.png) 2.然后单击“部署一个新合约” Deploy a new contract。 ![](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/hello_world_2.png) 3.在以太坊钱包的代码文本编辑区域填写我们的`Counter`合约代码。 ![](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/hello_world_3.png) 4.在以太坊钱包的右边选择你想部署的合同:我们的`Counter`智能合约。 ![](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/hello_world_4.png) 5.输入你的密码并按下“发送交易” Send transaction。gas价格是将你的合约发布到区块链所需的数量,另外一篇文章讨论[如何计算智能合约gas](http://blog.hubwiz.com/2018/04/12/how-to-estimate-gas/)。 ![](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/hello_world_5.png) 你可以看到计数器值等于0。在区块链上,读取一个值不需要花费任何代价,这就是为什么你可以看到这里显示的值。 现在,如果你执行我们的增值函数,猜猜会发生什么?我们的计数器值等于1。这可能需要一些时间,因为当下一个块被挖掘时,代码的执行必须写在区块链中。 如果再一次执行增量函数,就会看到计数器值的变化! 这样你就通过[以太坊钱包开发](http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=csdn621)并部署了你的第一份以太坊智能合约,并进行了互动。 > - [以太坊电商](http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6?affid=csdn621),主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战。 转载自[以太坊博客](http://blog.hubwiz.com/2018/06/21/solidity-hello-world-with-ethereum-wallet/)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1769 次点击  
加入收藏 微博
1 回复  |  直到 2022-01-13 20:20:54
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传