dev 모드로 Tapyrus Core~Docker 편~ 구축
Start Tapyrus-Core in dev mode on Docker
이 글의 목표는 'Docker에서 Tapyrus의 dev 모드를 시작합니다.' 이다.
Docker를 사용하지 않고 Ubuntu에서 직접 시작하는 방법여기 기사.을 보십시오.
원자재는여기 기사.로 본 보도의 목적은 초보자를 위해 더욱 상세한 절차를 쓰는 것이다.
Tapyrus는 Chantope사가 개발한 하이브리드 블록체인입니다.자세한 내용은 이쪽을 보세요.
전제 조건
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_key1
의 pub
를 참조합니다.> 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에서 시작되었습니다.
앞으로 개발용tapyrusrb과Glueby 등은 간단히 진행하겠습니다.이것들은 이번에 건설된 Tapyrus Core에서 RPC를 연결하여 운행한다.
참고 자료
Reference
이 문제에 관하여(dev 모드로 Tapyrus Core~Docker 편~ 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/shmn7iii/articles/53e533e2ac3756텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)