It-chain
이번 포스팅에서는 it-chain에 대한 간단한 설명과 solo mode를 통해 직접 돌려볼 수 있는 튜토리얼 예제를 소개해 드리고자 합니다.
it-chain 프로젝트의 목적 기존 블록체인은 그 규모가 방대하고 지나치게 복잡하여 지역사회, 소규모 상인연합과 같은 비IT 중소규모 커뮤니티에서 사용하기에 높은 진입장벽을 갖고 있습니다. 본 프로젝트는 이러한 중소규모 커뮤니티에서 유연하게 수정하여 자신들의 목적에 맞게 활용할 수 있는 경량 맞춤형 블록체인을 만듭니다. 이 블록체인은, 예를 들어, 지역 커뮤니티에서 기여와 보상에 쉽게 활용될 수 있는 지역특화 토큰을 통해 시장가치로 반영되지 않는 자원봉사, 기부 등을 환산 가능하며, 사회적 가치 통용을 통해 봉사, 기부를 확산시키고 지역 경제 활성화도 기대할 수 있습니다.
install it-chain engine and running simple tutorial
1. Environment Setup
Requirements
- Go-lang >= 1.9
- Docker >= 17.12.0
- Rabbitmq >= 3.7.7
- Dep >= 1.11
-
Install Engine
go get it-chain/engine
-
Move to engine folder
cd $GOPATH/src/github.com/it-chain/engine
-
Install dependencies
dep ensure
-
Run engine
Make sure to run rabbitmq and docker before run it-chain
go install it-chain.go it-chain
-
Check block on http://localhost:4444/blocks
2. Installing a icode
Sample icode url: https://github.com/junbeomlee/learn-icode
-
Fork learn-icode
-
Add deploy key
-
Deploy learn-icode
-
it-chain i deploy [learn-icode-url] [ssh-private-key-path]
-
Check docker container
docker ps
-
Check icode on http://localhost:4444/icodes
-
3. Invoke a Transaction
- Invoke initA function using cmd (initA function sets key value A to zero)
it-chain ivm invoke [IcodeID] initA
- After invoking a initA, query getA (getA function get value of key A)
it-chain ivm query [IcodeID] getA
- If you invoke incA, you can increase the value of A
it-chain ivm invoke [IcodeID] incA
- Check block on https://localhost:4444/blocks