女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用樹莓派探索以太坊 - 第1部分:入門 (繁體)

設計idea ? 來源:互聯網 ? 作者:佚名 ? 2018-04-13 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Pi 3B型上安裝並運行以太坊區塊鏈客戶端。

區塊鏈現在是一個令人難以置信的熱門話題,並且已經有一段時間了,這在很大程度上是因為加密貨幣- 主要是比特幣- 似乎為他們的早期採用者在一夜之間產生的財富,以及它們開闢的新的經濟可能性。

然而,區塊鏈不僅僅可以用於加密貨幣,而且正如Greig在其最近發布的文章中指出的那樣,其分佈式性質和驗證交易的防篡改記錄能力可用於物聯網應用。以太坊平臺令人興奮的是它不僅僅是簡單的加密貨幣和安全交易,還提供分佈式計算平臺。

在這篇文章中,我們將簡要介紹一下以太坊體系結構,並嘗試介紹一些主要概念和組件,然後再繼續在Raspberry Pi上安裝客戶端軟件。需要說明的是,我們不會挖掘任何加密貨幣,因為您確實需要一個強大的GPU,但是可以使用Pi創建一個簡單的沙箱進行實驗- 這也表明區塊鏈技術確實是可以運行在嵌入式平臺。

以太坊101

contractmortal{ /*Definevariableownerofthetypeaddress*/ addressowner; /*Thisfunctionisexecutedatinitializationandsetstheownerofthecontract*/ functionmortal(){owner=msg.sender;} /*Functiontorecoverthefundsonthecontract*/ functionkill(){if(msg.sender==owner)selfdestruct(owner);}}contractgreeterismortal{ /*Definevariablegreetingofthetypestring*/ stringgreeting; /*Thisrunswhenthecontractisexecuted*/ functiongreeter(string_greeting)public{ greeting=_greeting; } /*Mainfunction*/ functiongreet()constantreturns(string){ returngreeting; }}

以太坊智能合約的示例。資料來源:ethereum.org

區塊鍊是一個分佈式記錄本,通常通過點對點網絡進行管理,並隨著記錄或區塊越來越多,它的大小也會不斷增長。區塊通常包含有交易數據的時間戳,並通過散列算法加密保護,這樣一旦數據被提交,它就不能被修改。

以太坊平臺擁有自己的加密貨幣,稱為以太幣ether,但它也進一步構造區塊鏈技術,為智能合約創造分散平臺- 包含代碼函數和區塊鏈函數,並能夠與其他合同進行交互,作出決定,存儲數據,並將以太幣發送給其他人。

智能合約通過基於 JavaScript 的 Solidity 語言實現。 Solidity編譯器用於將智能合約編譯為字節碼 - 就像使用JavaScript或Python,Java和Android等代碼執行 - 然後通過以太坊虛擬機(Ethereum Virtual Machine)執行。在智能合約中執行交易產生一定的成本,這是我們將在未來的文章中介紹到。

以太坊提供了許多不同的客戶端應用程序,原始參考實現geth以Go編寫。其中一些可以挖掘以太幣。另外還有獨立的挖掘軟件,好像另外還有GUI客戶端和分佈式應用程序的IDE。

除主要的公共以太坊區塊鍊網絡mainnet 之外,還有用於實驗性質的測試網絡,您也可以創建自己的專用網絡。

安裝GETH

CP_geth_make1.jpg

假設我們已經安裝了Raspbian,我們便可以開始更新已安裝的軟件包到最新版本。

$sudoapt-getupdate $sudoapt-getdist-upgrade

我在第一次編譯以太坊客戶端時用完了內存。為內存密集型任務釋放內存的一個好方法就是減少分配給GPU的數量。實際上,如果您不需要圖形桌面,請將將系統簡單地配置成引導到命令行。

$sudoraspi-config
  • 3 → Boot

  • B1 → Desktop / CLI

  • B1 → Console

  • 7 → Advanced

  • A3 → Memory Split

  • 16 (MB)

  • Reboot

接下來,如果我們安裝相關的安裝包。

$sudoapt-getinstallgitgolanglibgmp3-dev

之後,如果我們抓取geth的源代碼,一個以太坊節點的官方語言實現,編譯這些代碼並將可執行文件複製到/usr/local/bin/。

$mkdirsrc $cdsrc $gitclone-brelease/1.7https://github.com/ethereum/go-ethereum.git $cdgo-ethereum $make $sudocpbuild/bin/geth/usr/local/bin/

創建帳戶並進行測試

CP_geth_account_new.jpg

首先,如果我們使用GETH來創建一個新帳戶。

$gethaccountnew

這將生成一組新的加密密鑰並使用密碼保護私鑰。請注意,如果您使用此帳戶來挖掘加密貨幣並進行有意義的交易,您則需要確保備份您的密鑰並防止您的私鑰被訪問。

現在開始啟動節點。

CP_geth-firstRun.jpg

$geth--syncmodelight--cache64--maxpeers12

如果我們在沒有任何參數的情況下運行GETH,它會啟動一個節點並嘗試同步整個公共mainnet區塊鏈。其大小超過50GB並且不斷增長,這對嵌入式計算機可能不是一個好主意。所以,我們以輕型同步模式啟動節點。這只會隨著它們的出現以及區塊鏈的其他部分按需提取區塊標題。

要強制節點退出,只需按CTRL-C在啟動時將其作為服務運行:

$sudovi/etc/systemd/system/[email protected]

(用你最喜歡的文本編輯器替換“vi”)

然後輸入:

[Unit]Description=Ethereumdaemon Requires=network.target[Service]Type=simple User=%I ExecStart=/usr/local/bin/geth--syncmodelight--cache64--maxpeers12Restart=on-failure[Install]WantedBy=multi-user.target

保存文件並將以太坊節點作為“PI”用戶運行:

[email protected] [email protected]

CP_gethAttach.jpg

當我們的以太坊節點作為服務運行時,我們現在可以使用以下方式連接到它:

$gethattach

例如:這給了我們提供了一個交互式的JavaScript控制臺。從這裡我們可以調用函數功能,例如:

>eth.accounts

列出當前帳戶。

CP_gethAttach_admin-peers.jpg

或者獲取關於連接者的信息:

>admin.peers

請注意,輕量級客戶端協議仍處於開發階段,在某種程度上是試驗性應用,並且依靠完整的對等點/節點來支持它。因此,撰寫本文時可能未能完整地運行以太坊主網區塊鏈。也就是說,事情正在快速地發展,而這種情況在不太遙遠的將來也會很容易發生變化。

接下來

到目前為止,我們剛剛安裝了客戶端軟件,創建了帳戶,啟動了節點並觀察了對等連接。在下一篇文章中,我們將看看實際執行的交易。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 樹莓派
    +關注

    關注

    121

    文章

    1978

    瀏覽量

    107221
  • 區塊鏈
    +關注

    關注

    112

    文章

    15565

    瀏覽量

    108139
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Raspberry Pi探索以太2部分:創建一個私人區塊鏈

    建立一個全新的預先分配資金和對等節點的測試網絡。 在本系列的1部分中,在安裝以太geth客戶端,創建一個帳戶并運行一些簡單的命令之前,我
    的頭像 發表于 04-13 09:48 ?1.2w次閱讀

    【學習筆記】uCOSII移植到A+/B+/2B

    ,是基於uCOS v2.5和一代A/B從論壇和datasheet得知,2代所使用的C
    發表于 07-31 16:27

    電動汽車傳導充電連接裝置1部分:通用要求

    電動汽車傳導充電連接裝置 1部分:通用要求,感興趣的可以看看。
    發表于 07-15 17:21 ?62次下載

    塔式系統解決方案,4部分:在應用中添加以太

    塔式系統解決方案,4部分:在應用中添加以太
    發表于 10-31 14:10 ?7次下載
    塔式系統解決方案,<b class='flag-5'>第</b>4<b class='flag-5'>部分</b>:在應用中添加<b class='flag-5'>以太</b>網

    電動汽車驅動電機系統 1部分:技術條件

    GBT 18488.1-2015 電動汽車驅動電機系統 1部分:技術條件
    發表于 03-25 15:15 ?3次下載

    集成智能1部分:EMI管理

    集成智能1部分:EMI管理
    發表于 10-28 11:59 ?3次下載
    集成智能<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>:EMI管理

    簡化您的以太網設計,1部分以太網PHY基礎知識和選擇過程

    簡化您的以太網設計,1部分以太網PHY基礎知識和選擇過程
    發表于 10-31 08:23 ?1次下載
    簡化您的<b class='flag-5'>以太</b>網設計,<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>:<b class='flag-5'>以太</b>網PHY基礎知識和選擇過程

    探索高壓輸電——2部分:電壓源換流器

    探索高壓輸電——2部分:電壓源換流器
    發表于 11-01 08:27 ?1次下載
    <b class='flag-5'>探索</b>高壓輸電——<b class='flag-5'>第</b>2<b class='flag-5'>部分</b>:電壓源換流器

    探索高壓輸電 - 2部分,電壓源換流器

    探索高壓輸電 - 2部分,電壓源換流器
    發表于 11-02 08:15 ?3次下載
    <b class='flag-5'>探索</b>高壓輸電 - <b class='flag-5'>第</b>2<b class='flag-5'>部分</b>,電壓源換流器

    探索高壓輸電 - 1部分,電網換相換流器

    探索高壓輸電 - 1部分,電網換相換流器
    發表于 11-02 08:15 ?0次下載
    <b class='flag-5'>探索</b>高壓輸電 - <b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>,電網換相換流器

    Hercules? LaunchPad? 開發套件控制GaN功率級—1部分

    Hercules? LaunchPad? 開發套件控制GaN功率級—1部分
    發表于 11-03 08:04 ?0次下載
    <b class='flag-5'>用</b>Hercules? LaunchPad? 開發套件控制GaN功率級—<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    了解你的電池組:1部分

    了解你的電池組:1部分
    發表于 11-03 08:04 ?0次下載
    了解你的電池組:<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    電氣過應力簡介-1部分

    電氣過應力簡介-1部分
    發表于 11-04 09:52 ?5次下載
    電氣過應力簡介-<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    以太網到PWM音箱1部分

    電子發燒友網站提供《以太網到PWM音箱1部分.zip》資料免費下載
    發表于 06-13 14:31 ?0次下載
    <b class='flag-5'>以太</b>網到PWM音箱<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    電源設計方法-1部分

    電子發燒友網站提供《電源設計方法-1部分.pdf》資料免費下載
    發表于 09-06 11:40 ?0次下載
    電源設計方法-<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>