这是一篇文章的早期版本,旨在帮助那些对以太坊区块链平台有基本了解的开发人员,如果想学习如何使用Nethereum .NET库对Ethereum平台进行编程。
我以后会在这篇文章中添加更多内容,但就目前而言,正在使用它发布.NET 10+的系列C#示例,介绍如何使用Nethereum库执行针对以太坊区块链平台的最常见任务。
最常见任务列表包括以下内容:
- 1.获取协议版本
- 2.获取最大块数
- 3.获取帐户余额
- 4.发送以太
- 5.等待交易收据
- 6.在区块链中扫描块
- 7.列出个人账户(及其余额)
- 8.在区块链中扫描交易
- 9.与现有(已部署)合同互动
- 10.用事件和现有(已部署)合约交互
- 11.获取所有活动更改
- 12.获取合约金额历史
这里是c#的主文件:
[code]using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;using Nethereum.Hex.HexTypes;using Nethereum.Web3;namespace MWH.MyNethereum.QuickRef{ static public class TaskExamples { const int UNLOCK_TIMEOUT = 2 * 60; // 2 minutes (arbitrary) const int SLEEP_TIME = 5 * 1000; // 5 seconds (arbitrary) const int MAX_TIMEOUT = 2 * 60 * 1000; // 2 minutes (arbirtrary)// These static public variables do not represent a recommended pattern static public string LastProtocolVersion = ""; static public string LastTxHash = ""; static public Nethereum.RPC.Eth.DTOs.TransactionReceipt LastTxReceipt = null; static public HexBigInteger LastMaxBlockNumber = new HexBigInteger(0);static public async Task GetProtocolVersionExample(Web3 web3) { Console.WriteLine("GetProtocolVersionExample:");var protocolVersion = await web3.Eth.ProtocolVersion.SendRequestAsync(); Console.WriteLine("protocolVersion:\t" + protocolVersion.ToString()); LastProtocolVersion = protocolVersion; }static public async Task GetMaxBlockExample(Web3 web3) { Console.WriteLine("GetMaxBlockExample:");var maxBlockNumber = await web3.Eth.Blocks.GetBlockNumber.SendRequestAsync(); Console.WriteLine("maxBlockNumber:\t" + maxBlockNumber.Value.ToString()); LastMaxBlockNumber = maxBlockNumber; }static public async Task ScanBlocksExample(Web3 web3, ulong startBlockNumber, ulong endBlockNumber) { Console.WriteLine("ScanBlocksExample:");long txTotalCount = 0; for (ulong blockNumber = startBlockNumber; blockNumber |
|