명령어 모음 ethCommands¶
In [4]:
%%writefile src/ethCommands.js
eth.accounts; // 존재하는 계좌 리스트
eth.blockNumber; // 마이닝이 된 만큼 블록이 있음
eth.coinbase; // 현재 코인베이스
eth.getTransactionCount(eth.accounts[0]) // 거래 수
var bal = eth.getBalance(eth.accounts[0]); // 계좌의 잔액
web3.fromWei(bal, "ether"); // wei를 ether 단위로 변경
miner.start(); // 마이닝 시작
miner.stop(); // 마이닝 중지
miner.start(1);admin.sleepBlocks(1);miner.stop() // 1회만 마이닝
miner.setEtherbase(eth.accounts[1]); // coinbase 설정
admin.nodeInfo; // 노드 정보
admin.peers; // peer 정보
net.peerCount; // peer 갯수
net.listening; // peer를 찾고 있는 중인지 확인
txpool.inspect; // 마이닝 대기중인 transaction pool
txpool.status; // transaction pool의 갯수
Overwriting src/ethCommands.js
ethCommands 실행¶
In [ ]:
!geth --exec 'loadScript("src/ethCommands.js")' attach http://localhost:8445
address 생성¶
In [2]:
import bitcoin
privKey = bitcoin.sha256('hello key')
# private key에서 public key 생성
pubKey = bitcoin.privtopub(privKey)
# public key에서 주소 생성
addr = bitcoin.pubtoaddr(pubKey)
In [ ]:
import hashlib
x = hashlib.sha256("hello key".encode('utf-8')).hexdigest()
print(x)
디지털 서명¶
In [ ]:
msg = "let's meet in my office at 10 in the morning."
sig = bitcoin.ecdsa_sign(msg, privKey)
print("signature: ", sig)
print("verified: ", bitcoin.ecdsa_verify(msg,sig,pubKey))
msg1 = "let's meet in my office at 12 in the morning."
print("verified: ", bitcoin.ecdsa_verify(msg1, sig, pubKey)) # wrong msg
계정 생성¶
In [ ]:
! geth --datadir .\eth attach http://localhost:8445
'컴퓨터과학 > 블록체인' 카테고리의 다른 글
[블록체인] 컨트랙 개발부터 사용까지 - solc, node.js, ganache-cli (0) | 2021.04.16 |
---|---|
[블록체인] geth 사설망(private network) 구축하기 (0) | 2021.04.03 |
댓글