BlockApps의 STRATO를 Windows 로컬 환경에서 시작해 보았습니다.

개요



BlockApps사의 STRATO를 Windows 로컬 환경에서 기동해 보았습니다.
기본적으로는 튜토리얼 에 따릅니다.

STRATO란?
Ethereum의 블록체인을 조작할 수 있어 블록체인을 이용한 어플리케이션의 개발 환경 구축을 간단하게 하는 서비스입니다.
  • Bloc API
    사용자/계정 및 스마트 계약을 관리하는 API가 제공됩니다.
  • STRATO API
    블록 및 트랜잭션과 같은 블록체인을 관리하는 API가 제공됩니다.

  • 시작 방법



    0. STRATO Testnet에 등록(선택사항)



    h tps : // / g p p. b c 괄호 ps. 네 t/
    STRATO에 계정 신청(무료)을 합니다.

    1. 클론


    git clone https://github.com/blockapps/strato-getting-started.git
    cd strato-getting-started
    

    2. docker login


    docker login -u blockapps-repo -p P@ssw0rd registry-aws.blockapps.net:5000
    

    Docker for Windows는 지원되지 않는다고 언급되어 있지만 가상화를 사용하도록 설정하면 문제없이 작동합니다.

    3. 시작


    strato.sh --single
    

    docker-compose.yml을 얻기 위해 wget이 없으면 작동하지 않습니다.
    Creating strato_kafka_1     ... error
    
    \\run\\\\docker.sock:/var/run/docker.sock"\nis not a valid Windows path'
    

    위의 오류가 발생하면 경로를 수정합시다.
    docker-compose.yml의 맨 아래에 있습니다.

    docker-compose.yml
    volumes:
    - C:\var\run\docker.sock:/var/run/docker.sock
    

    다시 시작하면 13개의 컨테이너가 올라갑니다.
    strato-getting-started>docker ps
    CONTAINER ID        IMAGE                                                            COMMAND                  CREATED             STATUS              PORTS                                                          NAMES
    9fec7c940206        registry-aws.blockapps.net:5000/blockapps-repo/nginx:3.1.2       "/docker-run.sh"         6 seconds ago       Up 5 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp                       strato_nginx_1
    b38f7e8d13af        registry-aws.blockapps.net:5000/blockapps-repo/smd:3.1.2         "sh /usr/src/app/doc…"   7 seconds ago       Up 6 seconds        3002/tcp                                                       strato_smd_1
    b2112d318223        registry-aws.blockapps.net:5000/blockapps-repo/apex:3.1.2        "sh /usr/src/app/doc…"   10 seconds ago      Up 7 seconds        3001/tcp                                                       strato_apex_1
    caa4eeee1495        registry-aws.blockapps.net:5000/blockapps-repo/dappstore:3.1.2   "sh /usr/src/app/doc…"   10 seconds ago      Up 8 seconds        3000/tcp                                                       strato_dappstore_1
    c6816d69c065        registry-aws.blockapps.net:5000/blockapps-repo/cirrus:3.1.2      "sh /doit.sh"            11 seconds ago      Up 10 seconds       3333/tcp                                                       strato_cirrus_1
    1007876f283e        registry-aws.blockapps.net:5000/blockapps-repo/bloc:3.1.2        "/usr/bin/bloc/doit.…"   12 seconds ago      Up 11 seconds       8000/tcp, 8002/tcp                                             strato_bloc_1
    064fe3eb3498        registry-aws.blockapps.net:5000/blockapps-repo/strato:3.1.2      "/var/lib/doit.sh"       13 seconds ago      Up 12 seconds       3000/tcp, 0.0.0.0:30303->30303/tcp, 0.0.0.0:30303->30303/udp   strato_strato_1
    9ccb0d987bc9        wurstmeister/kafka:1.1.0                                         "start-kafka.sh"         14 seconds ago      Up 13 seconds                                                                      strato_kafka_1
    de49b416c1e9        registry-aws.blockapps.net:5000/blockapps-repo/postgrest:3.1.2   "sh /doit.sh"            5 minutes ago       Up 5 minutes        3001/tcp                                                       strato_postgrest_1
    5b4da01a7185        wurstmeister/zookeeper:3.4.6                                     "/bin/sh -c '/usr/sb…"   5 minutes ago       Up 5 minutes        22/tcp, 2181/tcp, 2888/tcp, 3888/tcp                           strato_zookeeper_1
    70eaab998732        postgres:9.6                                                     "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes        5432/tcp                                                       strato_postgres_1
    ab3ebd559572        redis:3.2                                                        "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes        6379/tcp                                                       strato_redis_1
    df72cabf4aab        registry-aws.blockapps.net:5000/blockapps-repo/docs:3.1.2        "sh /usr/share/nginx…"   5 minutes ago       Up 5 minutes        8080/tcp                                                       strato_docs_1
    

    4. 동작 확인



    브라우저에서 localhost를 입력하면
    로그인하라는 메시지가 표시되므로 아래를 입력하세요.

    username: admin
    password: admin

    첨부 이미지와 같은 화면이 표시되면 성공입니다.

    화면은 "STRATO 관리 대시보드(SMD)"라고 불리는 것으로, Bloc API나 STRATO API를 사용한 로컬 환경의 Ethereum 블록체인 네트워크용 대시보드입니다. 사용자 및 계약 관리가 가능합니다.
    Swagger에도 대응하고 있으므로, API의 거동 확인은 이하에서 실시할 수 있습니다.

    strato-api : http://localhost/strato-api/eth/v1.2/docs
    bloc api : http://localhost/bloc/v2.2/docs

    5. 정지


    strato.sh --stop
    

    6. 말소



    다음 명령으로 블록체인에 생성된 트랜잭션과 데이터를 삭제할 수 있습니다.
    strato.sh --wipe
    

    블록체인 테스트에서는 재검증 시 블록체인을 처음부터 구축해야 하므로 테스트를 자동화하는 것이 좋을지도 모릅니다.

    7. 보충



    AWS 이나 Azure 의 마켓플레이스에서도 사용할 수 있다(유료) 때문에, 시험해 보는 것은 어떻습니까.

    좋은 웹페이지 즐겨찾기