RLP (遞歸長度前綴)提供了一種適用於任意二進制數據數組的編碼,RLP已經成為以太坊中對對象進行序列化的主要編碼方式。RLP的唯一目標就是解決結構體的編碼問題;對原子數據類型(比如,字符串,整數型,浮點型)的編碼則交給更高層的協議;以太坊中要求數字必須是一個大端字節序的、沒有零占位的存儲的格式 ...
以太坊的crypto模塊 該模塊分為兩個部分一個是實現sha ,一個是實現secp k 這也是比特幣中使用的簽名算法 . 需要說明的是secp k 有兩種實現方式,一種是依賴libsecp k ,需要cgo,另外一種是依賴github.com btcsuite btcd,這是一個使用go語言實現的比特幣的客戶端. sha 模塊 這個模塊實際上可以認為就是一個功能計算sha ,用法也很簡單,就是調用 ...
2017-06-03 09:21 1 10648 推薦指數:
RLP (遞歸長度前綴)提供了一種適用於任意二進制數據數組的編碼,RLP已經成為以太坊中對對象進行序列化的主要編碼方式。RLP的唯一目標就是解決結構體的編碼問題;對原子數據類型(比如,字符串,整數型,浮點型)的編碼則交給更高層的協議;以太坊中要求數字必須是一個大端字節序的、沒有零占位的存儲的格式 ...
dial.go閱讀手記 dial.go是負責和peer建立連接關系的地方,主要是實現 其中最復雜的是newTasks,是建立新的連接,從test代碼中可以看出, 要在指定的最大連接數(peer ...
p2p的nat模塊 該模塊相對比較簡單,因為nat的真正實現並不在此模塊,主要是使用了第三方的nat-upnp和nat-pmp來實現真正的穿透(端口映射). 對外公布的接口 m.AddMapping(protocol, extport, intport, name ...
p2p模塊 p2p模塊對外暴露了Server關鍵結構,幫助上層管理復雜的p2p網路,使其集中於Protocol的實現,只關注於數據的傳輸. Server使用discover模塊,在指定的UDP端口管理網絡中結點的發現以及維護,discover模塊能夠直接和臨近結點交換各自已知結點信息,從而不斷 ...
總覽 以太坊虛擬機(EVM)是以太坊中智能合約的運行環境。它不僅被沙箱封裝起來,事實上它被完全隔離,也就是說運行在EVM內部的代碼不能接觸到網絡、文件系統或者其它進程。甚至智能合約與其它智能合約只有有限的接觸。 賬戶 以太坊中有兩類賬戶,它們共用同一個地址空間。外部賬戶,該類賬戶被公鑰-私鑰 ...
理解什么是以太坊? 簡單的說:比特幣背后的核心技術是區塊鏈技術,在區塊鏈里加進“智能合約”便是以太坊(Ethereum)。 Ethereum(以太坊)自稱“世界計算機”,可以用代碼編程的方式制造一個“信任的機器”,代碼即法律,你可以在上面做交易而不用擔心你的錢被某個公司卷走,因為它本身不受 ...
在程序中需要測量時間時最好使用monotime.Now()而不是time.Now(),相比之下前者更准確. 來個示例: 可以看到,精確到毫秒級 ,以太坊中用來度量時間 ...
狗年吉祥,開工利是,我們繼續研究以太坊源碼。從本篇文章開始,我們會深入到以太坊核心源碼中去,進而分析與研究以太坊的核心技術。 關鍵字:拜占庭,挖礦,礦工,分叉,源碼分析,uncle叔塊,agent,worker,事件監聽 本文基於go-ethereum ...