dev 모드로 Tapyrus Core~Docker 편~ 구축

Start Tapyrus-Core in dev mode on Docker


이 글의 목표는 'Docker에서 Tapyrus의 dev 모드를 시작합니다.' 이다.
Docker를 사용하지 않고 Ubuntu에서 직접 시작하는 방법여기 기사.을 보십시오.
원자재는여기 기사.로 본 보도의 목적은 초보자를 위해 더욱 상세한 절차를 쓰는 것이다.
Tapyrus는 Chantope사가 개발한 하이브리드 블록체인입니다.자세한 내용은 이쪽을 보세요.
https://www.chaintope.com/chaintope-blockchain-protocol/

전제 조건


MacOS 및 Linux에 대해 설명합니다.조개는 bash.macOS 사용자 중 zsh를 사용하는 사람은 매번 교체하십시오.
Windows용 설명은 포함되지 않습니다.양찰하다.

미리 준비하다


Ruby 설치


  • macOS
    MacOS에는 루비가 있지만 버전 관계상 조금 불편하기 때문에 rbenv로 환경을 구축한다.
    터미널에서 다음 명령을 순서대로 두드려 주십시오.
    # rbenvをインストール
    $ brew install rbenv
    
    # rbenvを設定
    $ rbenv init
    
    # bashrcを更新
    $ echo '# ruby' >> ~/.bashrc
    $ echo 'eval "$(rbenv init - )"' >> ~/.bashrc
    $ source ~/.bashrc
    
    # Ruby 3.0.1 をインストール
    $ rbenv install 3.0.1
    
    # デフォルトを3.0.1に設定
    $ rbenv global 3.0.1
    
    # 確認
    $ ruby -v
    

  • Ubuntu
    Ubuntu도 표준이지만 낡았어요.낡은 abpt를 통해 설치된 Rubby는 좀 불편하기 때문에 먼저 해제한 다음에 rbenv로 환경을 구축해야 한다.
    터미널에서 다음 명령을 순서대로 두드려 주십시오.
    # aptのRubyをアンインストール
    $ sudo apt purge ruby rbenv ruby-build
    $ rm -rf ~/.rbenv
    
    # rbenv, ruby-buildをクローン
    $ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    $ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    
    # bashrcを更新
    $ echo '# ruby' >> ~/.bashrc
    $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    $ echo 'eval "$(rbenv init - )"' >> ~/.bashrc
    $ source ~/.bashrc
    
    # ruby 3.0.1 をインストール
    $ rbenv install 3.0.1
    
    # デフォルトを3.0.1に設定
    $ rbenv global 3.0.1
    
    # 確認
    $ ruby -v
    
  • Docker 설치


  • macOS
    Docker Desktop여기서부터.을 다운로드할 수 있습니다.

  • Ubuntu
    앱 가져올게요.
    # apt-get
    $ sudo apt install docker.io
    
    # 確認
    $ docker --version
    
    초기 권한 설정에서 sudo는 필수적이지만 매우 답답하기 때문에 현재 사용자를 docker 그룹에 추가하고 그룹에 쓰기 권한을 부여합니다.다음 명령을 순서대로 실행하십시오.
    # ユーザーを追加
    $ sudo gpasswd -a $(whoami) docker
    
    # docker.sockの書き込み権限を付与
    $ sudo chgrp docker /var/run/docker.sock
    
    # dockerを再起動
    $ sudo service docker restart
    
  • 보태다


  • (macOS) Homebrew에 가입하지 않았습니다.
    Homebrew는 MacOS용 패키지 관리자입니다.brew에서 사용합니다.
    종착역에서 다음 명령을 내려주세요.
    $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

  • (Ubuntu) git 없음
    종착역에서 다음 명령을 내려주세요.
    $ sudo apt-get install git
    
  • 키 준비


    1.tapyrusrb 준비


    Tapurus의 루비용 라이브러리, tapurusrb를 gem로 설치합니다.
    $ gem install tapyrus
    
    다음에irb로 조작합니다.irb는 루비의 대화형 조개다.
    다음 명령을 사용하여irb를 시작합니다.
    $ irb
    
    irb는> 이후에 입력하고=> 이후에 회답합니다.
    irb에서tapyrusrb를 사용합니다.> 다음을 입력하십시오.=> 이후 회복에 성공했다.
    > require 'tapyrus'
    => true
    
    tapyrusrb를 dev 모드로 설정합니다.
    > Tapyrus.chain_params = :dev
    => true
    

    2. 확장 키 가져오기seed


    SHA-256을 통해 16진수에 대한 확장 키 seed를 가져옵니다.
    확장 키는 공개 키나 개인 키 등을 저장하는 단일 키를 가리킨다.
    > OpenSSL::Digest::SHA256.hexdigest(SecureRandom.hex(32))
    => "拡張鍵"
    
    대답을 미리 적어두세요.

    3. 인스턴스 확장 키


    이전에 가져온 확장 키를 매개 변수의 실례로 만듭니다.
    > ext_key = Tapyrus::ExtKey.generate_master("拡張鍵")
    => #<Tapyrus::ExtKey:0x00007fb299041c00...
    
    실례가 ext_key에 저장되어 있어 회답을 무시할 필요가 없습니다.

    4. 키 강화 내보내기


    안전성을 높이기 위해 강화 도출을 진행하다.확장 키 실례에서 .derive 함수를 실행하고 ext_key1 에 저장합니다.
    > ext_key1 = ext_key.derive(1)
    => #<Tapyrus::ExtKey:0x00007fb29c92b7c8...
    
    강화된 확장 키 실례는 ext_key1에 저장됩니다.

    5. 공개 키 가져오기


    확장 키에서 공개 키를 가져옵니다.강화 내보낸 확장 키 실례ext_key1pub를 참조합니다.
    > pub = ext_key1.pub
    => "公開鍵(hex)"
    
    hex가 표시한 공개 키를 되돌려줍니다.나는 대답을 기록할 것이다.

    6. 기밀 키 가져오기


    확장 키에서 비밀 키를 가져옵니다.공개 키와 같은 절차 참조priv.
    > priv = ext_key1.priv
    => "秘密鍵(hex)"
    
    hex가 표시한 기밀 키가 되돌아옵니다.나는 대답을 기록할 것이다.

    7. 기밀 키를 WIF로 가져오기


    확장 키에서 WIF 형식의 비밀 키를 가져옵니다.
    WIF는 Wallet Import Format의 약자로, 비트콤인의 월렛을 처리하기 위해 개발된 키 디스플레이 형태다.
    > wif = ext_key1.key.to_wif
    => "秘密鍵(WIF)"
    
    WIF에 표시된 개인 키가 반환됩니다.나는 대답을 기록할 것이다.
    키가 여기까지 준비되었습니다.

    8. 경품: 니모크 생성 및 보관


    니모크를 임의로 생성하고 보충할 수 있다.
    빈 니모크 대상을 생성합니다.
    > mnemonic = Tapyrus::Mnemonic.new("english")
    => #<Tapyrus::Mnemonic:0x00007fb299c15ea0 @word_list="english">
    
    확장 키에서 니트를 생성합니다.
    > words = mnemonic.to_mnemonic("拡張鍵")
    =>
    ["inside",
    ...
    
    생성된 니모크를 나타낸다.
    > pp words
    =>
    ["inside",
     "castle",
     .
     .
     .
     "lawsuit",
     "answer"]
    
    표시된 단어집을 안전하게 보관하십시오.
    또한 복원 단계는 다음과 같습니다.
    확장 키 seed는 아래에서 복구할 수 있습니다.수조words는 저장된 단어집을 사용하여 미리 준비하세요.
    > seed = mnemonic.to_entropy(words)
    => "拡張鍵"
    
    실례는 생성과 같은 절차에 따라 얻을 수 있다.
    > ext_key1 = ext_key.derive(1)
    => #<Tapyrus::ExtKey:0x00007fb29c92b7c8...
    

    Tapyrus Core 시작


    1. Genesis 블록용 매개변수 준비


    Docker에서 tapyrus-genesis를 사용하여 매개변수를 가져옵니다.
    Docker가 시작되지 않으면 를 시작합니다.Desktop 응용 프로그램을 시작하십시오.Ubuntu는 다음 명령을 사용하여 시작합니다.
    $ systemctl start docker
    
    시작 후 파라미터를 얻습니다.공개 키와 기밀 키를 고친 후에 다음 명령을 눌러 주십시오.
    $ docker run --rm tapyrus/tapyrusd:edge tapyrus-genesis -dev -signblockpubkey=公開鍵 -signblockprivatekey=秘密鍵(WIF)
    
    개인 키는 WIF 형식의 를 사용하십시오.

    2. Docker 컨테이너 만들기


    제작된 Genesis 블록을 사용하여 매개변수를 사용하여 컨테이너를 만듭니다.
    $ docker run -d --name 'tapyrus_node_dev' -p 12381:12381 -e GENESIS_BLOCK_WITH_SIG='パラメーター' tapyrus/tapyrusd:edge
    
    용기를 확인한다.
    $ docker container ls
    
    tapyrus_node_dev가 시작되었는지 확인할 수 있을 겁니다.

    3. Tapyrus Core의 부팅 확인


    블록 체인 정보를 가져와서 시작을 확인합니다.
    $ docker exec tapyrus_node_dev tapyrus-cli -conf=/etc/tapyrus/tapyrus.conf getblockchaininfo
    
    체인 정보가 성공적으로 되돌아오면 Tapyrus 블록 체인의 완성입니다.

    경품: 시용


    어려우니까 한번 써보세요.

    주소 만들기


    $ docker exec tapyrus_node_dev tapyrus-cli -conf=/etc/tapyrus/tapyrus.conf getnewaddress
    
    주소를 만들고 돌아갑니다.

    블록 작성


    $ docker exec tapyrus_node_dev tapyrus-cli -conf=/etc/tapyrus/tapyrus.conf generatetoaddress 1 "アドレス" "秘密鍵(WIF)"
    
    개인 키에 대해 Tapyrus Core의 버전은 0.4.1보다 옛날에는 Hex였고 업데이트할 때는 WIF였다.

    UTXO 목록 표시


    $ docker exec tapyrus_node_dev tapyrus-cli -conf=/etc/tapyrus/tapyrus.conf listunspent
    
    UTXO 목록을 표시합니다.

    끝맺다


    위의 Tapurus Core dev 모드가 Docker에서 시작되었습니다.
    앞으로 개발용tapyrusrbGlueby 등은 간단히 진행하겠습니다.이것들은 이번에 건설된 Tapyrus Core에서 RPC를 연결하여 운행한다.

    참고 자료


    https://qiita.com/John110/items/0ac6deb458af976b0cf8

    좋은 웹페이지 즐겨찾기