在这里分享下使用Nethereum与以太智能合约交互的教程。这个插件别人已经封装的很好了,我们直接使用就行。有对技术感兴趣的朋友可以关注下。话不多说,直接开始。
一.安装.net环境
Nethereum 是一个工具包,它可以帮助你在 .Net Core 或者 .Net Framework 上开发与 Ethereum 区块链交互的应用程序。如果你要用这个工具包,你需要先安装 .Net SDK。
如果你是刚开始接触这个,我们建议你使用 .Net Core,因为它比较新,支持跨平台,也就是说你可以在 Windows、Mac 或 Linux 上使用它。
如果你不确定该下载哪个版本的 .Net SDK,可以选择 .Net Core 3.1,这是一个比较稳定的选择,适合大多数情况。
Mac 或 Linux 用户要注意,你需要下载 .Net Core 的版本,因为它们通常不自带 .Net Framework。
点击可以跳转至微软官网下载SDK。
二.创建应用程序
打开vs(Visual Studio )创建项目,这步太简单了我就不直接截图了,基本有过编程经验的都知道怎么做。如果实在不知道的话可以私信或者留言。我会回复。
三.添加包引用
1.安装 NuGet 包管理器
请确保已经安装了最新版本的 Visual Studio。NuGet 包管理器通常是随 Visual Studio 一起安装的。
2.打开项目-管理NuGet包
打开包含你想要添加 Nethereum 引用的项目。右键-管理NuGet包,在浏览选项卡搜索包名”Nethereum “。
3.选择合适业务的包源
Nethereum 由多个不同的 NuGet 包组成,每个包提供不同的功能。根据你的需求选择相应的包。例如,如果你需要与 Ethereum 区块链交互,你可能会选择 Nethereum.Web3
和 Nethereum.Contracts
4.安装该包,并在你的类中去引用该包源。示例:
using Nethereum.Web3;
using Nethereum.RPC.Eth.DTOs;
四.连接至ETH节点交互
static async Task Main(string[] args)
{
var web3 = new Web3("https://mainnet.infura.io/v3/YOUR_PROJECT_ID");
// 获取最新区块
BlockParameter latestBlock = BlockParameter.CreateLatest();
Block block = await web3.Eth.Blocks.GetBlockByNumber.SendRequestAsync(latestBlock);
Console.WriteLine($"Latest block number: {block.Number}");
}
这里的web3变量是个链接,这个链接就是你的Infura 项目 ID 或者是你其他的节点URL。
不了解Infura的可以去了解下,他可以允许开发者无须自己运行节点都能访问以太坊,IPFS和其他区块链网络。
那么截止到这里,就已经简单的完成了一个与ETH节点连接并获取区块信息的示例。
后期内容我们会进阶讲解
如何获取协议版本
如何获取最大块数
如何获取账户余额
如何发送以太币
如何等待交易收据
如何在链中扫描块
如何扫描交易数据
如何与已部署的合约进行交互
如何转移代币,等等功能开发,敬请期待!