以太坊的開發與測試(1)

以太坊(Demo)開發測試----全網最全細節

以太坊?區塊鏈?智能合約?

學習一個新的技術棧總是讓人感到頭疼,最近需要做一個關於以太坊的試驗。博主長期不寫代碼了(本來也不怎麼寫,嘿嘿),那更是頭疼的不行,以前主要寫寫C++、C語言什麼的。這個以太坊開發又是web3、js、前端什麼的,我真的不會啊啊啊啊啊啊啊。

說實話,我是壓根不想動的,畢竟寫代碼什麼的最煩了,我只想當個只會BB的 “嘴炮架構師” ,並且只想指揮別人幹活,人生最大理想 ----- “不勞而獲”。但是,但是,但是,沒有辦法,最爲最底層的碼農怎麼能不幹活呢?畢竟,飯總是要喫的吧!

廢話不多說,本人最喜歡學習新的東西,之前大概看了看這個以太坊,也曾嘗試搭個環境淺嘗輒止。但是,學技術的都知道,你要是想要真正的掌握一個技術,必須要認認真真的使用該技術做一個什麼小項目啊,實驗啊,才能說是大略掌握這個技術。

所以這一次爲了真正的好好體會一下以太坊技術,我決定從0開始研究一個區塊鏈的小項目,然後,好好的理解一下這個以太坊技術。

這個小項目就是《區塊鏈技術-進階與實戰》蔡亮 李啓雷 梁秀波 著的這本書的幾個實驗項目。
這是他們項目源碼的地址:https://github.com/Blockchain-book/Ethereum-Score-Hella

安裝一個Linux虛擬機

VM 15.5 pro 在win 10 平臺下建立一個linux Ubuntu 18 虛擬機作爲基本開發環境。
1.虛擬機安裝 & 安裝VMtool
https://jingyan.baidu.com/article/3c48dd34f353fde10ae3587a.html
2.替換阿里源
https://developer.aliyun.com/mirror/
3.更新系統

安裝Nodejs,npm

  1. 安裝 npm nodejs
    nodejs 爲項目運行提供環境,相當於是web服務器;npm 爲我們提供相關環境的包管理服務;
    sudo apt-get install nodejs
    sudo apt-get install npm
    更新
    sudo npm install npm -n -g
    sudp n stable
    在這裏插入圖片描述

安裝GO語言

現成的安裝方法:
https://www.cnblogs.com/swlj/articles/11836198.html

安裝以太坊GO客戶端 geth

官方安裝方法:
https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum
選擇自己的系統版本,抄就好了!!

編寫創世文件

{
    "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip150Block": 0
    },
    "difficulty": "1",
    "gasLimit": "210",
    "alloc": {
    }
}

這就是以太坊區塊鏈的創世文件,一個文件定義一個條鏈;

創建私鏈

geth --datadir ~/geth/data init ~/geth/genesis.json
在這裏插入圖片描述

geth --datadir ~/geth/data --nodiscover --rpc --rpcapi eth,web3,personal

在這裏插入圖片描述
已經顯示有一個本地節點出現,然後這個交互式程序就進入了查找其他節點的循環當中;/geth/ 即爲你區塊鏈的相關文件地址

開啓一個新的終端,我們開啓geth客戶端連接到這條區塊鏈中:
geth attach ~/blockchaintest/data/geth.ipc
在這裏插入圖片描述
創建賬戶 並 挖礦
在這裏插入圖片描述
從這個錘子的標誌看,我們已經挖到了礦,並且以太坊區塊鏈塊數現在爲1,賬號1 挖到了500…000 Wei 。

轉賬操作:
eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],gas:10,‘gasPrice’:web3.toWei(5,‘gwei’),“value”:“10000”})

在這裏插入圖片描述
報錯了,需要私鑰或者解鎖賬戶,然而我沒記當時開啓賬戶的私鑰,尷尬。

Testrpc 安裝

Testrpc 是一種方便的客戶端,專門用來測試智能合約,可以減免挖礦的過程,直接將消息打包入區塊,便於測試。

sudo npm install -g ethereumjs-testrpc
在這裏插入圖片描述

安裝truffle

sudo npm install -g truffle

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章