소스 코드 다운로드
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