EOS 테스트 환경 구축

소스 코드 다운로드

git clone https://github.com/EOSIO/eos --recursive

 

버전 보기

git tag

최신 버전 분기로 전환

git checkout v1.2.1

스크립트 실행

cd /www/eos-env/eos/

sudo ./eosio_build.sh

실행이 시작되면 boost, mongodb, secp256k1, LLVM 등을 포함하여 많은 것을 다운로드합니다.

 

sudo ./eosio_install.sh

 

구성 파일 수정

cd ~/.local/share/eosio/nodeos/config

vim config.ini

http-server-address = 0.0.0.0:8888

contracts-console = true

enable-stale-production = true

producer-name = eosio

private-key = ["EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]



plugin = eosio::chain_api_plugin

plugin = eosio::history_api_plugin

plugin = eosio::chain_plugin

plugin = eosio::history_plugin

plugin = eosio::net_plugin

plugin = eosio::net_api_plugin

 

EOS 시작

cd /www/eos-env/eos

vim start.sh

nohup nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --contracts-console &

chmod 777 시작.sh

 

-e: enable-stale-production, 위의 config.ini에서 관련 지침을 참조하십시오. 설정 후 true와 동일합니다.

-p: Producer-name, 블록 프로듀서 이름에 "eosio"라는 이름이 지정됩니다.

--plugin: ~/.local/share/eosio/nodeos/config/config.ini의 마지막 설정 필드입니다.

--contracts-console 콘솔에 로그 출력

 

플러그인은 config.ini에 구성되어 있기 때문에 nodeos로만 시작할 수 있습니다.

nohup nodeos &

노드가 정상적으로 작동하고 있습니다. . . .

 

스마트 계약 생성

스마트 계약 생성

eosiocpp -n helloworld

 

컴파일 낭비

eosiocpp -o helloworld/helloworld.wast helloworld/helloworld.cpp

 

abi 컴파일

eosiocpp -g helloworld/helloworld.abi helloworld/helloworld.cpp

 

스마트 계약 배포

지갑 생성

cleos wallet create -n fish1208 --to-console

지갑 생성: fish1208

나중에 이 지갑의 잠금을 해제하는 데 사용할 암호를 저장하십시오.

암호가 없으면 가져온 키를 검색할 수 없습니다.

"PW5KiK9GU2TVo2TpA9Ragpzygj8s54AiCxBi2gDVzgUzWZCxbHZsS"

 

초기 계정 eosio의 마스터 키를 지갑으로 가져옵니다.

cleos wallet import -n fish1208 --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

가져온 개인 키: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

모든 새로운 블록체인은 유일한 초기 계정인 eosio인 마스터 키에 의해 시작됩니다. 블록체인과 상호 작용하려면 이 초기 계정의 개인 키를 지갑으로 가져와야 합니다.

 

지갑보기

cleos wallet list

* 표시는 지갑이 잠금 해제됨을 의미하고, * 표시가 없으면 지갑이 잠김을 의미합니다.

 

키 생성

cleos create key --to-console 

개인 키: 5JZEmy65HqCu1iobB98hA7ca1NYzRtK28gqWyonC25cUA54EmJS

공개 키: EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

개인 키를 지갑으로 가져오기

cleos wallet import -n fish1208 --private-key 5JZEmy65HqCu1iobB98hA7ca1NYzRtK28gqWyonC25cUA54EmJS

가져온 개인 키: EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

개인 키 가져오기 상태 확인

cleos wallet keys

 

사용자 계정 생성

cleos create account eosio fish EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

스마트 계약을 계정에 바인딩

cleos set contract fish hello -p fish

hello 폴더에는 계약의 모든 파일이 들어 있습니다. cpp .abi .wast

hello -p fish는 경로를 지정하고 암호화된 계정을 지정합니다.

 

스마트 계약 기능 실행

cleos push action fish hi '["1234"]' -p fish

 

hello 계약에서 hi 함수를 호출합니다.

 

지갑 잠금 해제

cleos wallet unlock -n fish1208 --password PW5KiK9GU2TVo2TpA9Ragpzygj8s54AiCxBi2gDVzgUzWZCxbHZsS

 

지갑 잠금

cleos wallet lock -n fish1208

 

추천

출처blog.csdn.net/yuch_hong/article/details/107377514