ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도커(DOCKER) 상에서 비트코인 다운로드하기
    보안 2022. 11. 15. 12:00

    https://www.docker.com/

     

    Docker: Accelerated, Containerized Application Development

    Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.

    www.docker.com

    도커를 다운로드하셨을거라 믿고 

    진행해보겠습니다.

     

     

     

     

     

     

    저는 pjt3591oo/bitcoin:0.17.01 파일을 pull 해오겠습니다.

    이 이미지는 비트코인을 공부하기위해 만들어진 이미지입니다. 

     

    자 도커 이미지 파일은 다운로드 완료했으니 사용해봅시다.

    docker gui를 사용해도 괜찮습니다.

    docker run -it --name bitcoin pjt3591oo/bitcoin:0.17.01 /bin/bash

    컨테이너를 실행하고 ls 명령어를 통해 뭐가 있는지 한번 보았더니 bitcoin 이라는 폴더가 있습니다.

    들어가보니 start 라는 shell script가 있네요 cat명령어로 확인해봅시다.

    bitcoind -regtest -rpcuser=test -rpcpassword=test  -server -rpcport=12345 --datadir="$PWD/.bitcoin"

    -regtest = main or test network와 연결되지않음

    -server:RCP 요청허용 

    -rpcuser =rpc요청시 필요한 유저이름

    -rpcpassword = rpc요청시 필요한 비밀번호

    -datadir=블록과 같은 데이터 저장위치

    -rpcport = 노드들끼리 사용하는 포트번호

    addnode:다른노드와 연결

    daemon:노드를 백그라운드에 띄워줌

    conf:설정파일경로

    .bitcoin = 코인,트랜잭션등을 저장하는 디렉토리  이름앞에 .(dot)이 붙으면 리눅스상에서는 숨김파일입니다. 마찬가지로 안드로이드에서도 .(dot)이붙으면 숨김 폴더이지요.

    .viminfo = vi 편집기 사용시 생성

    start.sh = 실제로 작동하는 코드

     

    지금현재로는 start.sh를 실행해보는것 밖에 할것이 없는것 같네요.

    ./start.sh

    빠져나오기 위해서 ctrl + c를 눌러 캔슬해줍니다.

    이폴더에는 뭔가 바뀐게 없네요.

    숨겨진 bitcoin폴더로 가봅시다.

    블록과 regtest 라는것이있네요 한번 살펴봅시다.

    지갑도있고 mempool도 있고 다양한 것들이 있네요

    banlist - 

    debug.log - 설명x 

    fee_estimates - 직역하면 거래 수수료  거래수수료를 얼마나 주냐에 따라 채굴(거래성립)에 걸리는 시간이 달라짐

    mempool - 거래가 아직 성립되지않은 트랜잭션들이 모여있는곳

    peers - 피어 목록(p2p 할떄 p)

    이제 하나씩 해봅시다.

     

    지갑만들기부터 시작합시다

    상위폴더로 빠져나간뒤

    mkdir 을 이용해 파일 test와 test2를 만들어준뒤

    cmd 창을 2개 열고 

    docker exec -it bicoin /bin/bash 를 통해 docker로 들어가봅시다.

     

     1번 창 bitcoind -regtest -rpcuser=test -rpcpassword=test  -server -rpcport=12345 --datadir="$PWD/test" 

     2번 창 여기에는 지갑을 생성하기위해 bitcoin-cli를 사용

    bitcoin-cli -regtest -rpcuser=test -rpcpassword=test -rpcport=12345 -rpcconnect=127.0.0.1 -datadir="$PWD/test" getnewaddress

    명령어 제일 뒤에 닉네임을 만들어줍니다. 저는 gg로 했습니다.

    순서 1번창 엔터 -> 2번창 엔터 빠져나오기

     

    지갑생성

    다른 주소리스트 찾기 

    빠져나온뒤 -deprecatedrpc=accounts를 추가한뒤 다시 실행

    bitcoind -regtest -rpcuser=test -rpcpassword=test  -server -rpcport=12345 --datadir="$PWD/test"  -deprecatedrpc=accounts

    이후 2번창에서 

    bitcoin-cli -regtest -rpcuser=test -rpcpassword=test -rpcport=12345 -rpcconnect=127.0.0.1 -datadir="$PWD/test" listaccounts

    list를 알수 있습니다.

     

     

    블록생성

    bitcoin-cli 에서 generate [생성할 블록 개수]로 생성합니다

    백개의 블록이 생성되었다.

    근데 50 개로나온다? 이것은 코인을 의미한다 블록 100개를 생성한 대가로 받았다.

    블록개수 조회

    getblockcount로 블록 개수를 조회할수 있다.

    어쨰선지 101개 가 있다고 나온다??

     

     

    블록 해시 조회

    getblockhash [hash no]

    블록정보조회

    getblock [block hash]

    조회시 시간,트랜잭션,난이도,다음블럭해쉬등 이 만들어져있는것을 볼수 있다.

    지갑주소 확인

    getaccountaddress label

     

    비트코인 전송 sendtoaddress [받는사람주소] [전송량]

     

    잘못 보내버렸네요..

    코인이들어온것을 알 수 있습니다.

    댓글

Designed by Tistory.