Geth 설치 및 기동
Geth 설치 및 기동
설치
TestNet 에서의 기동
테스트넷의 종류
- Ropsten
- Kovan
- Rinkeby
Ropsten 에서의 실행
실행명령
geth attach /home/ethereum/.ethereum/ropsten/geth.ipc
geth --ropsten --syncmode "fast" --http --http.api eth,net,web3,personal --cache=1024 --http.port 8545 --http.addr 127.0.0.1 --rpccorsdomain "*" --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303,enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303" --verbosity=6
Rpc 를 이용한 처리
지갑 생성
$secret_key = '원하는 키 처리'; // 이 키는 eth 전송등에 중요하므로 타인에게 노출되지 않도록 관리
$address = $damon->personal_newAccount($secret_key);
Eth 전송
unLock
$daemon->personal_unlockAccount($address, $password, 5); // 5초동안 unlock
전송비용계산
기본적인 전송데이타(from, to, value) 에 전송 가스비용까지 추가로 입력하여 처리
$amount = $amount // to wei unit
$value = $amount // 10진수 -> 16진수로 변경한 값
$params = [
'from' => $from, // Required
'to' => $to, // Required
'value' => $value, // Required
];
$daemon->eth_estimateGas($tran); // 예상 소모 가스
$params['gasPrice'] $daemon->eth_gasPrice(); // 현재 가스 가격
$gas = hexdec($estimatedGas) * hexdec($params['gasPrice']);
$params['gas'] = $gas; // 단위(wei)
전송
$this->daemon->eth_sendTransaction($params);