ropsten testnet용 faucet을 만들다-1

스몰렛 베타 버전을 내려고 보니 테스트를 위한 Ether가 필요한데, ropsten faucet이 잘 동작하지를 않는다. 아무래도 오류인듯 한것이 신청자가 한명도 없을때도 이더를 주지 않는다. 이래서야 테스트를 할 수가 없다.

이리저리 궁리하다가 그냥 테스터 이더를 주는 faucet을 직접하나 만들면 어떨까 싶다. 실제도 아니고 test넷의 채굴 난이도야 얼마나 되겠는가. 까짓거 채굴해서 직접 나눠주는 방법을 해보기로 한다.

geth에서 CPU채굴로 해보니 거의 채굴이 안된다. 역시 POW채굴은 그래픽 카드가 있어야 한다. geth CPU채굴은 간단하다. 여기 모든 예제는 ropsten testnet 기준이다. OS는 ubuntu 16.04 이다.

geth –testnet console
>miner.start(10)

start안에 들어가는 숫자는 채굴을 실행할 thread의 갯수이다. 아무튼 이건 거의 채굴 안된다.

GPU채굴을 하려면 설치를 좀 해야 한다. 먼저 OpenCL부터,

sudo apt-get install nvidia-cuda-toolkit clinfo

clinfo를 실행하여 NVIDIA어쩌구 하는 내용이 쭉 나오면 설치 성공이다.  인터넷에 보면 여러가지 OpenCL설치 방법이 있는데 NVIDA드라이버를 NVIDA사이트에서 받아서 설치하는 방법이 표준 답으로 되어 있는데 내 경우는 이렇게 하니 ubuntu desktop이 망가져 버려서 툴킷만 따로 설치하는 방법으로 하였다.

다음은 채굴기 설치. 채굴기는 cpp-ethereum을 설치하면 그 안에 ethminer가 들어 있다.

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

설치가 되었으면 이제 실행을 한다. 메인넷은 ethminer만 있으면 그냥 하면 되는데 testnet은 geth를 사용해서 했다. 다른 방법이 있을지도 모르지만 geth에서 해야 지갑도 쓰기 편하고 여러가지로 편하다.

geth –rpc –rpccorsdomain localhost –datadir /your/geth/datadir –testnet
ethminer -G

이렇게 하면 ethminer가 geth에 rpc로 연결해서 마이닝 결과를 넘겨준다. geth에는 반드시 채굴 보상을 받을 계정을 만들어 둬야 한다. geth에 연결할 일이 있을때는,

geth attach ipc://your/geth/datadir/geth.ipc

이렇게 연결하면 geth console을 열어서 다양한 정보를 관찰할 수 있다.

하룻밤을 돌렸더니 1,000 이더가 모였다. 뭐 이정도면 스몰렛 테스터용 이더 모으는데는 별 문제가 없겠다. 이제 이더 신청 받아서 나눠주는 모듈을 만들어야 하겠다. 이건 파트 2 에서.

메인넷과 ropsten을 같이 동작하게 하려면 포트를 서로 다르게 하면 된다.

geth –rpc –rpcport 8546 –rpccorsdomain localhost –datadir /your/data/dir –port 30304

Leave a Reply

Your email address will not be published. Required fields are marked *