Nethereum基本上是目前唯一可用的.NET平台下的web3.js移植包。在这个教程中,我们将首先编写并部署一个简单的智能合约,然后创建一个简单的.NET应用,并使用Nethereum来访问以太坊上的智能合约。Nethereum是通过以太坊节点旳标准RPC接口访问智能合约,因此使用Nethereum可以对接所有的以太坊节点实现,例如geth或parity。
如果你希望快速掌握Netherem的开发,可以访问汇智网的互动教程
C#以太坊开发详解,
技术问题可以直接咨询课程助教。
智能合约开发与部署
首先安装开发用以太坊节点软件Ganache:
~$ npm install -g ganache-cli
然后安装以太坊开发框架Truffle:
~$ npm install -g truffle
现在创建一个项目目录,进入该目录,并执行truffle init
进行初始化:
~$ mkdir demo && cd hubwiz
~/hubwiz$ truffle init
truffle会创建一些新的文件夹:contract、test、migration等。在contract
文件夹中,创建一个新的合约文件Vote.sol:
~/hubwiz/contracts$ touch Vote.sol
按如下内容编辑Vote.sol,这个合约只是简单地跟踪两个候选人的得票数,它使用交易发起账户作为投票人,并且每个账户只能投一票:
pragma solidity ^0.4.16;
contract Vote {
uint public candidate1;
uint public candidate2;
mapping (address => bool) public voted;
function castVote(uint candidate) public {
require(!voted[msg.sender] && (candidate == 1 || candidate