• Home
  • About
    • Moon photo

      Moon

      Moon is a minimal, one column jekyll theme for your blog.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

It Chain

27 Aug 2018

Reading time ~1 minute

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
  1. Install Engine

    go get it-chain/engine
    
  2. Move to engine folder

    cd $GOPATH/src/github.com/it-chain/engine
    
  3. Install dependencies

    dep ensure
    
  4. Run engine

    Make sure to run rabbitmq and docker before run it-chain

    go install it-chain.go
    it-chain
    

    [tutorial]run

  5. Check block on http://localhost:4444/blocks

    [tutorial]api-blocks

2. Installing a icode

Sample icode url: https://github.com/junbeomlee/learn-icode

  1. Fork learn-icode

    [tutorial]fork

  2. Add deploy key

    [tutorial]sshkey

  3. Deploy learn-icode

    • it-chain i deploy [learn-icode-url] [ssh-private-key-path]

      [tutorial]deploy

      [tutorial]deploy-result

    • Check docker container

      docker ps
      

      [tutorial]docker

    • Check icode on http://localhost:4444/icodes

      [tutorial]api-icodes

3. Invoke a Transaction

  1. Invoke initA function using cmd (initA function sets key value A to zero)
it-chain ivm invoke [IcodeID] initA

[tutorial]invoke

  1. After invoking a initA, query getA (getA function get value of key A)
it-chain ivm query [IcodeID] getA

[tutorial]query

  1. If you invoke incA, you can increase the value of A
it-chain ivm invoke [IcodeID] incA

[tutorial]incA

  1. Check block on https://localhost:4444/blocks


Share Tweet +1