文档章节

用Visual Studio开发以太坊智能合约

geek12345
 geek12345
发布于 08/17 10:42
字数 1086
阅读 13
收藏 0

区块链和以太坊

自从我熟悉区块链、以太坊和智能合约以来,一直失眠。

我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议使用以太坊网站官方客户端应用程序(Ethereum Wallet)也就是以太坊钱包构建和部署一些智能合约。

我还能够使用以太坊客户端执行智能合约。但我想,我需要使用一个更好的工具来构建智能合约,它们只是一些代码,所以我发现我可以在Visual Studio中像Visual Studio Code一样完成它。

用Visual Studio构建智能合约我需要做什么?

要使用VisualStudio构建以太坊智能合约,需要在Visual Studio Marketplace中找到solidity的扩展组件。

VisualStudio以太坊智能合约

第一个智能合约项目

组件下载完成后, 你在Visual Studio中就会有一个solidity的开发模版,访问路径是File => New Project,然后选择Smart Contract Project 模版即可.

VisualStudio以太坊智能合约

你在Solution Explorer中可以看到这个模版有三个智能合约文件,扩展名是.sol,这就是我们的solidity文件了。

VisualStudio以太坊智能合约

其中Payout.sol示例看起来像这样:

contract Payout {
     address Victor;
     address Jim;
     address Kieren;

     mapping (address => uint) ownershipDistribution; 

     function Setup() {
       Victor = 0xaabb;
       Jim    = 0xccdd;
       Kieren = 0xeeff;

       ownershipDistribution[Victor] = 35;
       ownershipDistribution[Jim]  = 35;
       ownershipDistribution[Kieren] = 30;
     }

     function Dividend() {
       uint bal= this.balance;
       Victor.send(bal * ownershipDistribution[Victor] / 100); 
       Jim.send(bal * ownershipDistribution[Jim] / 100);
       Kieren.send(bal * ownershipDistribution[Kieren] / 100);
     }
}

就这样你在Visual Studio获得了第一个以太坊智能合约。

编译和发布

下面你想做的事情就应该如何构建一个智能合约了,然后编译它。

右键点击.sol文件选择编译即可:

VisualStudio以太坊智能合约

现在是时候把你的智能合约部署到以太坊了。

要做到这一点,我们需要用区块链信息设置项目,因此右键点击项目并选择属性:

VisualStudio以太坊智能合约

在进入区块链密码、区块链服务URL(或者称为RPC URL)之后,你可以将智能合约部署到网络中。

只需右键点击智能合约(.SOL文件),然后选择Deploy Smart Contract即部署智能合约。

注意:为了使智能合约部署工作,需要Geth控制台在你的计算机上运行。因此,如果你正在部署到testnet即测试链,在单击部署之前打开命令提示符并键入下面的命令:

geth --testnet

VisualStudio以太坊智能合约

这样你就知道了。你的去中心化应用程序的后端服务在网络中启动并运行,人们可以按照他们的意愿执行它。

其他

有兴趣查询你刚刚部署的智能合约,看看它的详细交易信息吗?

可以使用刚才部署的合同的地址用etherscan.io网站去以太坊的testnet看看。

下面的URL是我刚刚部署的URL:

注:0x061e4d089f5341786fade6277d2a0e9526551500是智能合约的公钥。

你会看到:

VisualStudio以太坊智能合约

如你所见,合约的每一项对所有人都100%透明!

=========================================================================

如果你希望快速的开始使用.net和C#开发以太坊应用,那这个我们进行打造的课程会很有帮助:

C#以太坊

如果是其他语言开发以太坊应用的也可以参考以下教程:

  • java以太坊教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

汇智网原创,转载请标明出处。这里是原文

© 著作权归作者所有

共有 人打赏支持
geek12345
粉丝 13
博文 31
码字总数 57465
作品 0
海淀
用Visual Studio和C#开发以太坊应用程序

最近区块链技术引起了我的注意。我刚开始了解它,就看到了区块链去中心化架构的巨大潜力,并且它能够简化各种现有繁琐的流程,通过各种形式的。 作为一名.NET开发人员,我主要使用的是一些提...

geek12345
09/14
0
0
2018年Solidity最佳IDEs

Solidity是一种以智能合约为导向的编程语言。这是一种只有四年的年轻语言,旨在帮助开发基于以太坊数字货币的智能合约。 理解它官方文档应该是学习Solidity的最佳来源:solidity.readthedoc...

geek12345
09/04
0
0
EOS开发IDE工具Visual Studio code 和CLion的配置

每一个开发人员都需要一个良好的IDE,EOS开发也是一样,为项目开发过程构建一个良好的IDE环境是第一步。这就是为什么我们要写这个如何使用VS Code或者CLion进行EOS开发的快速教程的原因。 我...

编程狂魔
08/06
0
0
solidity语言介绍以及开发环境准备

Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity 是静态类...

若与
05/27
0
0
简述智能合约--基于交付的项目

最近刚交付的一个区块链项目。 这个是基本的智能合约的需求方案: • 建材尤其是大宗交易,订货,交割问题。 • 智能合约,解决卖家信用 “假一赔十”,基于智能合约,自动进行赔付。用户无法...

王文刚MVP
08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
3
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部