在MAC環(huán)境下之以太坊(ethereum)開發(fā)環(huán)境安裝

2021-9-10    前端達人

先訪問github上go語言開發(fā)客戶端網(wǎng)址:

安裝ethereum

在MAC上安裝

brew tap ethereum/ethereum

brew install ethereum


dogiant@bogon : /usr/local $brew tap ethereum/ethereum
Updating Homebrew...
==> Tapping ethereum/ethereum
Cloning into '/usr/local/Homebrew/Library/Taps/ethereum/homebrew-ethereum'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 1), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
Checking connectivity... done.
Tapped 3 formulae (31 files, 33.9K)
dogiant@bogon : /usr/local $brew install ethereum
==> Installing ethereum from ethereum/ethereum
==> Installing dependencies for ethereum/ethereum/ethereum: go
==> Installing ethereum/ethereum/ethereum dependency: go
==> Downloadinghttps://homebrew.bintray.com/bottles/go-1.7.4_1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go-1.7.4_1.el_capitan.bottle.tar.gz
==> Caveats
As of go 1.2, a valid GOPATH is required to use the `go get` command:
  https://golang.org/doc/code.html#GOPATH

You may wish to add the GOROOT-based install location to your PATH:
  export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary
??  /usr/local/Cellar/go/1.7.4_1: 6,438 files, 250.7M
==> Installing ethereum/ethereum/ethereum
==> Cloninghttps://github.com/ethereum/go-ethereum.git
Cloning into '/Users/dogiant/Library/Caches/Homebrew/ethereum--git'...
remote: Counting objects: 2737, done.
remote: Compressing objects: 100% (2066/2066), done.
remote: Total 2737 (delta 963), reused 1654 (delta 553), pack-reused 0
Receiving objects: 100% (2737/2737), 14.91 MiB | 112.00 KiB/s, done.
Resolving deltas: 100% (963/963), done.
Checking connectivity... done.
Note: checking out 'ff07d54843ea7ed9997c420d216b4c007f9c80c3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Checking out files: 100% (2487/2487), done.
==> Checking out tag v1.5.5
==> go env
==> make all
==> Caveats
To have launchd start ethereum/ethereum/ethereum now and restart at login:
  brew services start ethereum/ethereum/ethereum
==> Summary
??  /usr/local/Cellar/ethereum/1.5.5: 9 files, 47.7M, built in 5 minutes 30 seconds



安裝完畢后

geth -h

列出當(dāng)前的用戶
geth account list 
顯示空

dogiant@bogon : ~/ethereum/workspace $geth --datadir "~/ethdev" --dev
I1228 15:16:46.907316 cmd/utils/flags.go:615] WARNING: No etherbase set and no accounts found as default
I1228 15:16:46.907493 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /Users/dogiant/ethdev/geth/chaindata
I1228 15:16:46.911765 ethdb/database.go:176] closed db:/Users/dogiant/ethdev/geth/chaindata
I1228 15:16:46.912892 node/node.go:176] instance: Geth/v1.5.5-stable-ff07d548/darwin/go1.7.4
I1228 15:16:46.912925 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /Users/dogiant/ethdev/geth/chaindata
I1228 15:16:46.935109 eth/backend.go:280] Successfully wrote custom genesis block: e5be92145a301820111f91866566e3e99ee344d155569e4556a39bc71238f3bc
I1228 15:16:46.935127 eth/backend.go:299] ethash used in test mode
I1228 15:16:46.935536 eth/db_upgrade.go:346] upgrading db log bloom bins
I1228 15:16:46.935580 eth/db_upgrade.go:354] upgrade completed in 48.143μs
I1228 15:16:46.935601 eth/backend.go:191] Protocol Versions: [63 62], Network Id: 1
I1228 15:16:46.935744 eth/backend.go:219] Chain config: {ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000}
I1228 15:16:46.935983 core/blockchain.go:219] Last header: #0 [e5be9214…] TD=131072
I1228 15:16:46.935998 core/blockchain.go:220] Last block: #0 [e5be9214…] TD=131072
I1228 15:16:46.936007 core/blockchain.go:221] Fast block: #0 [e5be9214…] TD=131072
I1228 15:16:46.936626 p2p/server.go:342] Starting Server
I1228 15:16:49.127910 p2p/discover/udp.go:227] Listening, enode://05399f51a43805c17f82e5016d5969d14b3092018cae87eec77ed52291d66c50c7d7bf024d953b0afcccd44c717f17aaf251b897d770054205ea268b49a3050b@10.0.37.126:58049
I1228 15:16:49.128111 whisper/whisperv2/whisper.go:176] Whisper started
I1228 15:16:49.128115 p2p/server.go:610] Listening on [::]:55739
I1228 15:16:49.129641 node/node.go:341] IPC endpoint opened: /Users/dogiant/ethdev/geth.ipc



dogiant@dubiaoqideMBP : ~ $geth --dev console 2>> file_to_log_output
Welcome to the Geth JavaScript console!

instance: Geth/v1.5.5-stable-ff07d548/darwin/go1.7.4
 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0

> eth.accounts
[]
> personal.newAccount('123456')
"0x556d64ecb09b5df590a2ab842b53a8041e3961b4"
> eth.accounts
[
 "0x556d64ecb09b5df590a2ab842b53a8041e3961b4" ]
> eth.accounts
[
 "0x556d64ecb09b5df590a2ab842b53a8041e3961b4" ]
> personal.newAccount('123456')
"0xb0945a303834ff763695e21ed8acbe80aefee9bb"
> eth.accounts
[
 "0x556d64ecb09b5df590a2ab842b53a8041e3961b4" , "0xb0945a303834ff763695e21ed8acbe80aefee9bb" ]
>


dogiant@dubiaoqideMBP : ~ $geth --dev account list
Account #0: {556d64ecb09b5df590a2ab842b53a8041e3961b4} /var/folders/jy/q2f6pdjn6p11ytfx0xk8yp7m0000gn/T/ethereum_dev_mode/keystore/UTC--2016-12-28T07-20-52.337017793Z--556d64ecb09b5df590a2ab842b53a8041e3961b4
Account #1: {b0945a303834ff763695e21ed8acbe80aefee9bb} /var/folders/jy/q2f6pdjn6p11ytfx0xk8yp7m0000gn/T/ethereum_dev_mode/keystore/UTC--2016-12-28T07-25-51.683157537Z—b0945a303834ff763695e21ed8acbe80aefee9bb




> user1 = eth.accounts[0]
"0x556d64ecb09b5df590a2ab842b53a8041e3961b4"
> user2 = eth.accounts[1]
"0xb0945a303834ff763695e21ed8acbe80aefee9bb"
> user1
"0x556d64ecb09b5df590a2ab842b53a8041e3961b4"
> user2
"0xb0945a303834ff763695e21ed8acbe80aefee9bb"
> eth.getBalance(user1)
0
> eth.getBalance(user2)
0
> eth.blockNumber
0
> miner.start()
true
> eth.getBalance(user1)
390000000000000000000

> eth.getBalance(user2)
0
> miner.stop()
true
> eth.blockNumber
99
> eth.getBalance(user1)
495000000000000000000
> eth.getBalance(user2)
0
> eth.sendTransaction({from:user1,to:user2,value:web3.toWei(3,"ether")})
Error: account is locked
    at web3.js:3119:20
    at web3.js:6023:15
    at web3.js:4995:36
    at <anonymous>:1:1

> personal.unlockAccount("0x556d64ecb09b5df590a2ab842b53a8041e3961b4","123456")

true
> eth.sendTransaction({from:user1,to:user2,value:web3.toWei(3,"ether")})
"0x39d604a1df899f6c80ce33279abe88aec28b6d97f83e2dda5f062dd3c099fcf3"
> eth.getBalance(user2)
0
> miner.start()
true
> miner.stop()
true
> eth.getBalance(user2)
3000000000000000000


問題1:一開始用get account list總是看不到新建的用戶,后來考慮是開發(fā)控制臺創(chuàng)建的用戶要跟開發(fā)一致 加了 —dev后看到正常顯示賬號

看日志以太幣轉(zhuǎn)賬,轉(zhuǎn)賬后需要挖礦確認




分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責(zé)聲明:藍藍設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
來源:csdn
藍藍設(shè)計bouu.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)


分享本文至:

日歷

鏈接

個人資料

存檔