Ethereum - Geth
: 이더리움 다운로드 : https://geth.ethereum.org/downloads/
: install C:\Geth
: genesis.json 파일 생성 ( 아래와 같이 - C:\Geth\genesis.json )
{
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"difficulty": "0x400",
"alloc": {},
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0xffffffff",
"config": {
"chainId": 33273743010,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
}
}
: Geth Console 로 들어가기
: C:\Geth\geth –datadir C:\Geth init C:\Geth\genesis.json
INFO [12-12|13:48:11.904] Maximum peer count ETH=25 LES=0 total=25
INFO [12-12|13:48:11.956] Allocated cache and file handles database=C:\\Geth\\geth\\chaindata cache=16 handles=16
INFO [12-12|13:48:11.982] Writing custom genesis block
INFO [12-12|13:48:11.986] Persisted trie from memory database nodes=0 size=0.00B time=0s gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [12-12|13:48:11.997] Successfully wrote genesis state database=chaindata hash=272003…b62890
INFO [12-12|13:48:12.005] Allocated cache and file handles database=C:\\Geth\\geth\\lightchaindata cache=16 handles=16
INFO [12-12|13:48:12.032] Writing custom genesis block
INFO [12-12|13:48:12.036] Persisted trie from memory database nodes=0 size=0.00B time=0s gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [12-12|13:48:12.045] Successfully wrote genesis state database=lightchaindata hash=272003…b62890
> C:\Geth\geth –networkid 1185 –nodiscover –maxpeers 0 –datadir C:\Geth console 2>> C:\Geth\geth.log
Welcome to the Geth JavaScript console!
instance: Geth/v1.8.20-stable-24d727b6/windows-amd64/go1.11.2
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
>
> eth.coinbase
X etherbase must be explicitly specified
> personal.newAccount()
Passphrase: **your_password**
Repeat passphrase: **your_password**
"0xe25192575c3f0e8dd719450a260185fb1cbcd48f"
> eth.coinbase
"0xe25192575c3f0e8dd719450a260185fb1cbcd48f"
> eth.getBalance(eth.accounts[0])
0
> miner.start(1)
null
> eth.mining
true
> eth.hashrate
0
> eth.blockNumber
0
> miner.stop()
null
> eth.hashrate
27167
> eth.blockNumber
57
> eth.getBalance(eth.accounts[0])
285000000000000000000
> web3.fromWei(eth.getBalance(eth.accounts[0]),"ether")
285
> eth.blockNumber
57
: 현재 채굴로 받을 수 있는 보상은 1블록에 5ether이다.
: 채굴을 중단할 때까지 블록의 길이가 178이었으므로 57×5=285 다.
::::::::::::::::::::::::
:: 송금을 위한 다른 계정 생성 ::
::::::::::::::::::::::::
> personal.newAccount()
Passphrase: **your_password**
Repeat passphrase: **your_password**
"0x25f79f8ea74251eaf57731299b114a775bad77ec"
> eth.hashrate
0
> eth.blockNumber
57
> eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], value:web3.toWei(10,"ether")})
Error: authentication needed: password or unlock
at web3.js:3143:20
at web3.js:6347:15
at web3.js:5081:36
at :1:1
> personal.unlockAccount(eth.accounts[0],"**your_password**")
true
> eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], value:web3.toWei(10,"ether")})
"0x841de180be09a7212ab242d29d4913605f8fabaecda39c5f37a522c02ff20e17"
> eth.hashrate
0
: 아직 진행 중이므로 송금이 되지 않은 것을 확인 할 수 있다.
> eth.pendingTransactions
[{
blockHash: null,
blockNumber: null,
from: "0xe25192575c3f0e8dd719450a260185fb1cbcd48f",
gas: 90000,
gasPrice: 1000000000,
hash: "0x841de180be09a7212ab242d29d4913605f8fabaecda39c5f37a522c02ff20e17",
input: "0x",
nonce: 0,
r: "0xcaba9c6af363cba73e98811b1dc3c630ae9ef80f969ce17ea0a4fe7735cdbf35",
s: "0x793c821a27058ab50f291340a477204c3c8e0b5318fe5777444b1942549dd283",
to: "0x25f79f8ea74251eaf57731299b114a775bad77ec",
transactionIndex: 0,
v: "0xf7e8a0d68",
value: 10000000000000000000
}]
> miner.start(1)
null
> eth.pendingTransactions
[]
>
> eth.getBalance(eth.accounts[1])
10000000000000000000
> eth.getBalance(eth.accounts[2])
Error: invalid address
at web3.js:3930:15
at web3.js:5025:28
at map ()
at web3.js:5024:12
at web3.js:5050:18
at web3.js:5075:23
at :1:1
> eth.getBalance(eth.accounts[0])
635000000000000000000
> eth.getTransaction("0x841de180be09a7212ab242d29d4913605f8fabaecda39c5f37a522c02ff20e17")
{
blockHash: "0xeedae1ba0141b88e3a2250898787cbad4d2890ef783ec8800e6a099db92a8bfb",
blockNumber: 58,
from: "0xe25192575c3f0e8dd719450a260185fb1cbcd48f",
gas: 90000,
gasPrice: 1000000000,
hash: "0x841de180be09a7212ab242d29d4913605f8fabaecda39c5f37a522c02ff20e17",
input: "0x",
nonce: 0,
r: "0xcaba9c6af363cba73e98811b1dc3c630ae9ef80f969ce17ea0a4fe7735cdbf35",
s: "0x793c821a27058ab50f291340a477204c3c8e0b5318fe5777444b1942549dd283",
to: "0x25f79f8ea74251eaf57731299b114a775bad77ec",
transactionIndex: 0,
v: "0xf7e8a0d68",
value: 10000000000000000000
}
> exit
|