일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ftp
- Materials
- Jupyter
- GoCD
- rethinkdb
- port forwarding
- nGrinder
- 실행권한
- appium server
- kitura
- create table
- mysql
- centos
- perfect
- nohup
- PYTHON
- ubuntu
- sshpass
- ssh
- appium
- STF_PortForwarding
- 28015
- openpyxl
- insert
- postgres
- SWIFT
- nmap
- STF
- Jupyter Notebook
- postgresql
- Today
- Total
don't stop believing
채굴하기 (on Local TestNet) 본문
Geth를 설치했다면 Ether를 구하기 위해 채굴해 보겠습니다.
채굴은 로컬 테스트넷에서 합니다.
먼저 geth를 실행합니다.
$ geth --networkid 45 --nodiscover --maxpeers 0 --datadir /home/ngle/data_testnet console 2>> /home/ngle/data_testnet/geth.log Welcome to the Geth JavaScript console! instance: Geth/v1.8.14-stable-316fc7ec/linux-amd64/go1.10.1 coinbase: 0x26a43bc3dcef48f91b77df47dd353d9f34c163c4 at block: 0 (Thu, 01 Jan 1970 09:00:00 KST) datadir: /home/ngle/data_testnet modules: admin:1.0 debug:1.0 eth:1.0 ethash:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0 >
geth console에서 계정을 확인해 보겠습니다.
> eth.accounts ["0x26a43bc3dcef48f91b77df47dd353d9f34c163c4", "0x6a6ea6d5128554638b138a5331529989fcde4271", "0x7208e3ca69793ec72d6b08a3497edf8e447c5304"]
3 개의 계정이 있습니다.
이제 Ether를 얻기위해 채굴을 해보겠습니다. 이더리움을 채굴해 보상받을 계정을 Etherbase라고 합니다. Etherbase는 기본적으로 eth.account[0]이 설정됩니다.
eth.coinbase 명령으로 Etherbase를 확인할 수 있습니다.
> eth.coinbase "0x26a43bc3dcef48f91b77df47dd353d9f34c163c4"
Etherbase는 miner.setEtherbase 명령으로 변경할 수 있습니다.
> miner.setEtherbase(eth.accounts[1]) true > eth.coinbase "0x6a6ea6d5128554638b138a5331529989fcde4271"
다시 eth.accounts[0]으로 변경해 보겠습니다.
> miner.setEtherbase(eth.accounts[0]) true > eth.coinbase "0x26a43bc3dcef48f91b77df47dd353d9f34c163c4"
Ether 잔고 확인인 getBalance 명령으로 확인할 수 있습니다. 인수로는 계정의 주소를 전달합니다.
> eth.getBalance(eth.accounts[0]) 0 > eth.getBalance(eth.accounts[1]) 0 > eth.getBalance(eth.accounts[2]) 0
블록체인의 블록 수도 확인해 보겠습니다.
블록 수는 eth.blockNumber 명령으로 확인할 수 있습니다.
> eth.blockNumber 0
확인과 준비가 되었다면 이제 채굴을 하겠습니다.
miner.start(thread_num) 라는 명령으로 개시합니다. thread_num은 채굴할 때 사용할 thread 수입니다.
thread 수를 1로 하고 채굴을 수행해 보겠습니다.
> miner.start(1) null
현재 버전에서는 minier.start()명령을 하면 true/false가 아닌 null이 리턴되고 있습니다.
채굴되고 있는지는 eth.mining 명령으로 확인할 수 있습니다.
> eth.mining true
채굴은 되고 있네요.
eth.hashrate 명령으로 해시 속도를 확인할 수 있습니다.
> eth.hashrate 0
해시 속도는 채굴하는 데 사용하는 연산력을 나타내는 값으로 단위는 hash/s(초) 입니다.
현재 0으로 리턴되고 있습니다. mining이 되고있는 상태에서 정상적인 값이라면 1 이상이 나와야 합니다.
예를 들어 172022 hash/s라면 1초당 172,022번 해시 값 연산이 가능하다는 뜻입니다.
blockNumber도 확인해 보겠습니다.
> eth.blockNumber 89
block은 증가하고 있습니다.
이제 miner.stop() 명령으로 채굴을 중지합니다.
그리고 eth.mining, eth.hashrate, eth.blockNumber로 상태를 확인해 봅시다.
> miner.stop() true > eth.mining false > eth.hashrate 0 > eth.blockNumber 121
채굴 보상을 받는 계정인 Etherbase의 잔고를 확인해 봅니다.
> eth.getBalance(eth.coinbase) 605000000000000000000 > eth.getBalance(eth.accounts[0]) 605000000000000000000
현재 eth.coinbase는 eth.accounts[0]로 되어있으며 동일한 잔고를 확인할 수 있습니다.
getBalance로 확인한 잔고는 wei(웨이)입니다.
1 Ether는 10^18 wei 입니다. (1,000,000,000,000,000,000 wei)
wei를 Ether로 변환해서 확인해 봅시다.
> web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 605
현재 채굴로 받을 수 있는 보상은 1블록에 5 Ether 입니다.
여기까지 로컬 테스트넷에서 Ether 채굴이었습니다.
'Ethereum' 카테고리의 다른 글
Geth 설치 (on Mac), 채굴, 송금, 수수료 확인 진행하기 (0) | 2018.08.24 |
---|---|
Ether 송금 과 수수료 확인 (on Local TestNet) (0) | 2018.08.24 |
Geth (Go-ethereum) 설치 (on Ubuntu) (0) | 2018.08.23 |
라이브 네트워크 상태 확인 (0) | 2018.08.23 |
Mist 브라우저 설치 (0) | 2018.08.19 |