겉바속촉
[Ethereum] ethereum 시작하기 본문
geth 를 먼저 설치해주세요:)
https://geth.ethereum.org/downloads/
파일 탐색기
클릭하고 나면 다음과 같이 뜹니다
그러면 이제 따로 선택하는 것 없이
디폴트 값 그대로 계속 설치 진행해주세요:)
다음은 블록 헤더 항목 몇 가지를 가지고 왔어요
각각 무슨 뜻을 설명하는 지 알아주세요:)
블록 헤더 항목 | 설명 |
config | 제네시스 블록의 설정값 |
chainId | 블록체인 식별하는 정수값 (반드시 설정해주어야) |
homesteadBlock | 홈스테드를 적용하는 하드 포크 블록 번호 의미 (제네시스 블록 = 0이라고 설정) |
메모장에다가 다음 코드를 넣어 주신 후에 하고 이름을 genesis.json 으로 설정
{
"config": {
"chainId": 4777,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"difficulty" : "0x400",
"extraData" : "",
"gasLimit" : "0x7A1200",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
C드라이브 -> temp -> geth -> private_net -> genesis.json 저장 !!!
cmd창을 열어주세요
다음과 같이 경로를 넣어주세요:)
cd c:\temp\geth\private_net
그리고 다음 코드 입력!
geth --datadir C:\TEMP\geth\private_net init C:\TEMP\geth\private_net\genesis.json
다음 코드 입력
geth --networkid "10" --nodiscover --datadir C:\TEMP\geth\private_net --rpc --rpcaddr "localhost" --rpcport "8545" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --targetgaslimit "20000000" console 2>> C:\TEMP\geth\private_net\error.log
그리고 계정 3개 생성
personal.newAcooun("1234")
그리고 파일탐색기에서 keystore 폴더로 가면 생성되어 있는 것이 보입니다
이제 1234 를 메모장에 입력해주세요
아까 3개의 계정을 생성했기 때문에 다음과 같이 해주시면 되겠쥬
그리고 pw라고 저장해주세요:)
다음 표시한 경로에다가요
자 이제 다음 코드를 넣어 주시는 데요
다음 코드는 예시이기 때문에 우리가 나온 계정을 복붙해주셔야 합니다:)
geth --networkid "10" --nodiscover --datadir C:\TEMP\geth\private_net --rpc --rpcaddr
"localhost" --rpcport "8545" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal"
--targetgaslimit "20000000" console 2>> C:\TEMP\geth\private_net\error.log
--allow-insecure-unlock "0xb3762c4cd92afeb839dbcc10c1f0a66b6bfcec40",
"0x9dde7902c33621e8bb5c47b849d825ef5c65adb7",
"0xcc9508ecfe27def4f0effc7be935b82a84acdfaa"
--password C:\TEMP\geth\private_net\pw.txt
그리고 계정 복붙해서 넣은 메모장 내용을
그대로 복사해서 cmd 창에 이어서 붙여넣기
이제 생성된 계정을 모두 보여달라고 해볼게요:)
그러면 배열 형태로 보입니다
[0,1,2] ---> 요런 형식이쥬
eth.accounts
이제 코인베이스를 보고 나서
eth.coinbase
miner.start(1)
eth.mining
채굴을 진행 중이기 때문에 계속 생기는 중입니다:)
eth.getBalance(eth.accounts[0])
이제 wei -> ether로 단위를 변환
web3.fromWei(eth.getBalance(eth.accounts[0]."ether")
첫번째 계정 unlock
web3.personal.unlockAccount(eth.accounts[0],'1234',60*60*24)
세번째 계정 unlock
web3.personal.unlockAccount(eth.accounts[2],'1234',60*60*24)
첫번째 계정에서 세번째 계정으로 5wei만큼 transaction을 보냄
eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[2], value:web3.toWei(5,"ether")})
(==> 이렇게 하고 나면 거래번호가 나옵니다. 즉 거래번호의 해쉬값이쥬)
세번째 계정 잔액을 확인해봅시다
web3.fromWei(eth.getBalance(eth.accounts[2]),"ether")
그러면 5ether를 보냈기 때문에 5ether가 확인됩니다
(==> 5이더가 확인됨)
이제 영수증을 확인해볼게요
아까 나온 해쉬값을 넣어서 출력해주면 됩니다:)
eth.getTransactionReceipt( "0x95ed5f734d645b70c235c466a1b86f54fa402d9e5ebe8e9f767792953ccf463c")
(==>영수증 출력)
'IT일기(하반기) > ETHEREUM' 카테고리의 다른 글
[Ethereum] db에 넣어보기 (0) | 2020.08.07 |
---|---|
[Ethereum] 메타마스크 설치해서 vscode로 가나슈와 연결 (1) | 2020.08.03 |
[Ethereum] remix판으로 구동해보기 (2) | 2020.07.31 |
[Ethereum] Remix 해보기 (1) | 2020.07.29 |
[Ethereum] 거래 영수증 분석하기 (0) | 2020.07.29 |