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

区块链和以太坊

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

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

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

用Visual Studio构建智能合约我须要作什么?

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

VisualStudio以太坊智能合约

第一个智能合约项目

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

VisualStudio以太坊智能合约

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

VisualStudio以太坊智能合约

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

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得到了第一个以太坊智能合约。mongodb

编译和发布

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

右键点击.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进行智能合约开发交互,进行帐号建立、交易、转帐、代币开发以及过滤器和事件等内容。

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

相关文章
相关标签/搜索