主页 > 下载imtoken钱包官方 > 以太坊区块链开发-私有链
以太坊区块链开发-私有链
下载imtoken钱包官方 2023-09-06 05:12:22
1.先查看我们两个私链钱包的以太坊wei余额,然后我们将转账写入区块链地址
2.然后我们启动私链 geth --identity "secbro etherum" --rpc --rpccorsdomain "*" --datadir "私链数据文件夹绝对路径" --port "30303" --rpcapi "db,eth, net,web3" --networkid 95518 控制台
然后我们开始码代码以太坊和区块链的不同,我们这里使用Nethereum以太坊开发框架
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Runtime.CompilerServices; using System.Text; using System.Threading; using System.Threading.Tasks; using Nethereum.Contracts; using Nethereum.Hex.HexTypes; using Nethereum.RPC.Eth.DTOs; using Nethereum.Web3; using Nethereum.Web3.Accounts; using Nethereum.Web3.Accounts.Managed; namespace ConsoleApp1 { class Program { static void Main(string[] args) { ShowWei(); Task.Run(async () => { var password = "123456";//私钥密码 var accountFilePath = @"D:\Geth\EthDBSpace\MyPrivChain\keystore\UTC--2020-08-08T17-14-07.485273900Z--9c086b477028ef6bc7c23efc0ad008982e622f61";//keystore var account = Account.LoadFromKeyStoreFile(accountFilePath, password);//加载私钥并签名 var web3 = new Web3(account);//实例化 await web3.TransactionManager.SendTransactionAsync(account.Address, "0xd8f74f49b638fe0072bad0a177a7b6ff9063368c", new HexBigInteger(1));//发送转账到指定区块链地址单位WeiHexBigInteger(wei)) }).Wait(); Console.WriteLine("main end"); Console.ReadLine(); } public static void ShowWei() {//查看钱余额 var web3 = new Web3(); var balance = web3.Eth.GetBalance.SendRequestAsync("0x9c086b477028ef6bc7c23efc0ad008982e622f61").Result.Value; Console.WriteLine($"Balance in Wei: {balance}"); var etherAmount = Web3.Convert.FromWei(balance); Console.WriteLine($"Balance in Ether: {etherAmount}"); } } }
为了让转账变化明显,测试转账1wei
发送转账记录后,我们来看看余额
这时,你会发现一个奇怪的现象。 先前的转移请求已提交。 为什么两个账户的余额没有变化? 回想一下我们刚才说的以太坊和区块链的不同,以太坊使用POW共识来鼓励矿工记账,而由于我们创建的私有链目前只有一个节点,所以此时没有其他节点参与记账。 所以我们需要通过挖矿将这笔转账记录到区块中。
开始挖矿
并立即停止
现在我们查询钱包以太坊微余额
开户成功,COOL!