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

区块链和以太坊

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

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

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

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

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

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

第一个智能合约项目

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

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

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

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

其中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文件选择编译即可:

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

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

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

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

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

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

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

geth --testnet

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

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

其他

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

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

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

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

你会看到:

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

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

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

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

C#以太坊

这里是原文

相关推荐