如何用Visual Studio构建和发布以太坊智能合约

区块链和以太坊

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

我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议使用以太坊网站官方客户端应用程序(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示例看起来像这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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即测试链,在单击部署之前打开命令提示符并键入下面的命令:

1
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进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

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