c#實戰開發:以太坊私鏈搭建(一)

来源:https://www.cnblogs.com/yuanzijian-ruiec/archive/2018/07/18/9332961.html
-Advertisement-
Play Games

1.第一步環境搭建 運行環境:window 客戶端版本:Go語言geth 下載地址https://ethereum.github.io/go-ethereum/downloads/ 以太坊API中文文檔:http://web3.tryblockchain.org/Web3.js-api-refren ...


1.第一步環境搭建

運行環境:window  客戶端版本:Go語言geth

下載地址https://ethereum.github.io/go-ethereum/downloads/

以太坊API中文文檔:http://web3.tryblockchain.org/Web3.js-api-refrence.html

下載後在桌面創建一個json文件 一下是文件內容

{
  "config": {
        "chainId": 1666,// 私鏈區塊鏈的ID  1是公鏈的ID
        "homesteadBlock": 0,//硬分叉高度
        "eip155Block": 0,//eip
        "eip158Block": 0 //eip
    },
  "coinbase"   : "0x0000000000000000000000000000000000000000",//預設賬戶,發送獎勵賬號一般預設第一個
  "difficulty" : "0x400",//產生區塊的難度 也叫挖礦難度
  "extraData"  : "",//附加信息 好像沒什麼用
  "gasLimit"   : "0xffffff",//限制區塊交易量信息,私鏈沒有限制
  "nonce"      : "0x0000000000000042",//交易可存儲數量 在沒有進行挖礦時未承認交易數量
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",//hash生成規則 私鏈隨意
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",//上一個hash 因為創世區塊隨意
  "timestamp"  : "0x00",//時間撮配置 在進行轉賬交易時有用 比如智能合約轉賬驗證時可以用 私鏈隨意
  "alloc": {}//預設賬號以及賬號的以太幣數量,私有鏈挖礦比較容易可以不配置
}

以上就是創世區塊配置 我們進行下一步

創建兩個文件夾

先把下載的客戶端放入Geth  在創建一個txt 後面我在把尾碼改成bat

文件內容

choice /D y /t 3 > nul

set today=%date:~0,4%%date:~5,2%%date:~8,2%
geth --datadir F:\privateEthereum --networkid 1666 --ipcdisable --rpc --rpcaddr "127.0.0.1" --rpcport "8546" --port "30304" --rpcapi "eth,web3,personal,net" --nodiscover console 2>> F:\privateEthereum\log\geth%today%.log

客戶端的預設入口埠8545 出是30303 我這怕和錢包埠衝突給修改了 完成後放入Geth 文件夾內

後面再初始化區塊數據 放入創世區塊json文件 接著在建一個bat命令去運行json文件

xxxx\geth --datadir F:\privateEthereum init genesis.json

接著在區塊文件夾內創建一個LOG日誌文件 用儲存geth客戶端產生的日誌 此時文件夾應該有三個文件

雙擊bat 初始化創世區塊  如果沒成功  看看地址是不是寫錯了 為了這個問題我找了好久

這裡就是 用戶的數據 裡面都有以太幣 不過是私鏈的  再點幾geth文件夾下的 客戶端 通過bat命令去啟動geth.exe

接著我們創建一個用戶

personal.newAccount("123456")   裡面密碼  也叫用戶私鑰 回車生成賬戶地址 也叫賬戶公鑰

可以通過 輸入 web3  查看所有命令和屬性 文章開頭也給了 基本命令地址

可以也通過c# 對接以太坊 實行用戶地址創建

這是通過c# 創建的用戶

接著我們在去看看客戶端是否創建成功了 輸入一下命令 查看用戶和餘額

 var i =0;
 eth.accounts.forEach(
 function(e){
 console.log("  eth.accounts["+i+"]: " +  e + " \tbalance: " + web3.fromWei(eth.getBalance(e), "ether") + " ether");
 i++;
 }) 回車

 

 創建成功  也可對接錢包出生成用戶 後期可以做一個c#版的錢包或者挖礦小程式

僅僅只是演示如何創建私鏈 為了演示成功搭了二三十遍才出來的可能剛出學校工作太笨了 後期在慢慢分享 不說了主管來了,該幹活了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在學習Celery之前,我先簡單的去瞭解了一下什麼是生產者消費者模式。 生產者消費者模式 在實際的軟體開發過程中,經常會碰到如下場景:某個模塊負責產生數據,這些數據由另一個模塊來負責處理(此處的模塊是廣義的,可以是類、函數、線程、進程等)。產生數據的模塊,就形象地稱為生產者;而處理數據的模塊,就稱為 ...
  • 並查集 並查集,在一些有N個元素的集合應用問題中,我們通常是在開始時讓每個元素構成一個單元素的集合,然後按一定順序將屬於同一組的元素所在的集合合併,其間要反覆查找一個元素在哪個集合中。這一類問題近幾年來反覆出現在信息學的國際國內賽題中,其特點是看似並不複雜,但數據量極大,若用正常的數據結構來描述的話 ...
  • Description 給定n個正整數a1,a2,…,an,求 的值(答案模10^9+7)。 給定n個正整數a1,a2,…,an,求 的值(答案模10^9+7)。 Input 第一行一個正整數n。 接下來n行,每行一個正整數,分別為a1,a2,…,an。 第一行一個正整數n。 接下來n行,每行一個正 ...
  • 最近爬蟲,爬個貓眼都被封了IP。。 分享幾個常見的User-Agent吧,複製粘貼過來的,謝謝原創。 明天後天,就這周吧,把貓眼,巨潮資訊,陽光網爬一下,然後再爬幾個有漂亮mm的網站,後面再做一個自己的翻譯器。 時間是擠出來的。。 ...
  • 今天碰到一個場景,就是一個JavaBean,有些屬性的值需要去資料庫其他表中獲取,這樣就需要調用其他dao方法得到這個值,然後再set進去。 可是問題來了,如果需要用這種方式賦值的屬性特別多的話,一個一個set進去就需要寫很多set方法,代碼不僅冗餘,而且很麻煩。 於是就想通過反射機制去自動set值 ...
  • 一、Redis API支持 Python連接redis redis-py安裝方式 Python連接Redis redis連接分片集群 python連接redis sentinel Python String類型使用簡介 Python hash類型使用簡介 Python list類型使用簡介 Pyth ...
  • 如果爬蟲需要展現速度,我覺得就是去下載圖片吧,原本是想選擇去煎蛋那裡下載圖片的,那裡的美女圖片都是高質量的,我稿子都是差不多寫好了的,無奈今天重新看下,妹子圖的入口給關了。 至於為什麼關呢,大家可以去看看XXX日報的關停原因吧或者百度下,這裡就不多說了,這次我選擇了去下載無版權高清圖片,因為做自媒體 ...
  • 當需要向某特定URL地址發送HTTP請求並得到相應響應時,通常會用到HttpClient類。該類包含了眾多有用的方法,可以滿足絕大多數的需求。但是如果對其使用不當時,可能會出現意想不到的事情。 博客園官方團隊就遇上過這樣的 "問題" ,國外博主也記錄過類似的情況, "YOU'RE USING HTT ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...