본문 바로가기

옥탑방주인/Hyperledger

[Hyperledger Sawtooth] Transactions and Batches-sawtooth v1.0.4 Transactions and Batches 먼저 이 챕터를 시작하기 전에, 다른 파트에서 이 부분이 제일 중요하다고 언급이 계속해서 되고 있다.이 부분이 sawtooth의 제일 기본이며 중심역할을 하는 것 같으므로, 이 챕터를 확실히 이해하고 넘어가자. 상태 수정은 transaction을 작성하고 적용하여 수행됩니다. 클라이언트는 transaction을 생성하여 validator에 전송(submit)한다. validator는 state에서 변경시키는 transaction을 적용한다. Transaction은 항상 batch 안쪽에 포함되어 있다(wrapped). batch내의 모든 transaction은 state를 함께 처리하기도 하고, 전혀 처리하지 않기도 한다. 따라서, batch는 state 변화.. 더보기
Hyperledger Sawtooth - Transaction Processor Tutorial Python (Sawtooth v1.0.2) Transaction Processor Tutorial Python 본 내용을 설명하기 전에, 이전 글에 있는 XO게임 튜토리얼을 실행하고 오면, 이번 섹션에 대한 이해가 좀 더 수월할 수 있습니다. Overview 이번 튜토리얼에서는 Sawtooth SDK에 기반된 Python에서의 새로운 Sawtooth transaction family의 생성을 다룬다. 멀티플레잉 게임인 tic-tac-toe(이전에는 XO게임이라 하더니 -_-;)의 배포 버전을 구현하는 transaction handler를 구축해볼 것 이다. 노트 SDK는 tic-tac-toe의 버전이 구현된 전체를 포함하고 있다. 이번 튜토리얼은 완벽한 구현을 만드는것 보다 이 게임과 관련된 개념을 설명하는데 의미를 둘 것이다. 다양한 언어로 구.. 더보기
Hyperledger Sawtooth -Building and Submitting Transactions (Sawtooth v1.0.2) Building and Submitting Transactions 분산 장부(distributed ledger)에 제출(submit)할 정보를 인코딩하는 프로세스는 중요하다. 신원(identity) 및 데이터 유효성(data validity)을 확인하기 위해 일련의 암호 기법(cryptographic) 보호 장치가 사용된다. Hyperledger Sawtooth도 다르지 않지만, Python 3 SDK는 이러한 세부 사항 대부분을 추상화(abstract)하는 클라이언트 기능을 제공하며, 블록 체인을 변경하는 프로세스를 크게 단순화 하는 기능을 제공한다. Creating a Private Key and Signer 신원(identity)을 확인하고 validator에 보내는 정보에 서명(sign)하려면, .. 더보기
Hyperledger Sawtooth -Python SDK Installation (Sawtooth v1.0.2) Python SDK Installation Overview Python SDK는 이전에 올려놓았던 포스팅을 잘 따라왔으면 자동으로 설치되어있을 것이다.만약 설치가 안되어 있다면, 여기 또는 여기2 를 클릭해서 설치하면 된다. 이번 튜토리얼은 파이썬(Python)환경에서 어떻게 SDK를 import 하는지에 대해 설명할 것 이다.sdk란 Software Development Kit의 약자이다. Prerequisites Sawtooth Python SDK는 파이썬 버전 3.5 또는 그 윗버젼이 설치되어 있어야 한다. Importing the SDK 설치 과정의 일부로 Python SDK가 설치되고 표준 Python 가져 오기 시스템을 통해 사용할 수 있습니다. 예를 들어, Python REPL에서 SDK를 .. 더보기
Hyperledger Sawtooth - Introduction to the XO Transaction Family (Sawtooth v1.0.2) Introduction to the XO Transaction Family What is XO? XO는 Sawtooth SDK에 포함되어 있는 transaction family 예제이다. XO는 인기있는 게임인 Tic-tac-toe 게임을 구현한 것이다.(다른 의미로는 Noughts and Crosses 또는 X's and O's라고도 부른다.) X's 그리고 O's 스타일 게임은 전세계에서 많은 세월동안 플레이 되어왔다. 이런 게임의 시초가 어딘지는 불명확 하다; 그러나, 몇몇의 역사학자들은 Tic-tac-toe의 첫번째 버전이 고대 Egypt에서 시초가 되었다고 믿고있다. 다른 사람들은 현대 Tic-tac-toe가 Terni Lapilli 라고 알려진 게임이 진화된 것이라고 믿고있다., Terni L.. 더보기
[Hyperledger Sawtooth] XO 게임 tutorial 실행하다 만난 issue Aㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ 오늘 한 6시간은 이 문제로 시간낭비(?)를 하였다. 구글링을 해도 자료가 얼마 없어서 나오지도 않고,,, doc을 봐도 친절한 설명이 없었다. 먼저 아래는 오늘 만난 issue의 사진이다(좀 짜증나지만 글씨 색깔이 매우 화려하다). [2018-04-20 19:23:38.289 INFO path] Skipping path loading from non-existent config file: /etc/sawtooth/path.toml[2018-04-20 19:23:38.290 INFO validator] Skipping validator config loading from non-existent config file: /etc/sawtooth/validator.toml [201.. 더보기
Hyperledger Sawtooth - Address and Namespace Design (Sawtooth v1.0.2) Address and Namespace Design Overview 하이퍼릿저 소투스(Hyperledger sawtooth)는 Merkle Tree내에 데이터를 저장한다. 데이터는 leaf nodes에 저장되고, 각 노드는 70개의 hex characters(16비트)로 표현되고, 35바이트로 구성된 주소 체계를 사용하여 접근된다. 주소를 생성하는데 추천사항은 주소 인자를 만들 때 string 또는 strings의 hex-encoded된 해쉬 벨류(hash value)를 사용하는 것이다. 그러나, 주소의 인코딩(encoding of address)은 namespace를 정의하는 transaction family에 달려 있으며 해시가 필요하지 않다. 해싱(Hashing)은 결정적으로 고정 길이의 충돌하지 .. 더보기
Hyperledger Sawtooth - Example Transaction Processors(Sawtooth v1.0.2) Example Transaction Processors 소투스는 transaction processor 개발을 위한 예제로서 여러 transaction families를 포함하고 있다.아래와 같은 실행파일을 사용할 수 있다. block-info-tp : BlockInfo transaction processor, 파이썬으로 작성되었다.identity-tp : Identity transaction processor, 파이썬으로 작성되었다.intkey-tp-go : IntegerKey transaction processor, Go로 작성되었다.intekey-tp-java : IntegerKey transaction processor, Java로 작성되었다.intkey-tp-javascript : Integer.. 더보기
Hyperledger Sawtooth on Ubuntu 16.04 (Sawtooth v1.0.2) Using Sawtooth on ubuntu 16.04 이 절차는 Ubuntu에서 응용 프로그램 개발을 위해 Hyperledger Sawtooth를 설정하는 과정을 안내하고 응용 프로그램 개발에 필요한 기본적인 Sawtooth 개념을 소개하며 다음 작업을 수행하는 과정을 안내합니다 : 우분투 16.04에 소투스(Sawtooth)를 설치하는 법Sawtooth validator와 관련된 REST API와 두개의 트랜잭션 프로세서 컴포넌트를 시작하는 법transaction family 셋팅 구성하는 법transaction을 REST API에 제출(submitting)sawtooth command를 사용하여 블록, 트랜잭션, 및 state 보기. 이 섹션이 완료되면, Sawtooth의 REST API를 사용하는.. 더보기
Hyperledger Sawtooth에 대하여 알아보자(v.1.0.2) Introduction 하이퍼릿저 소투스(Hyperledger Sawtooth)는 네트워크와 분산 장보 어플리케이션을 빌딩하기 위한 기업형 블록체인 플랫폼이다. 이 설계 철학은 특히 기업에서 사용을 위한 부분적인 스마트 컨트랙트의 안정성을 만드는것과 분산화된 장부를 유지하는것을 목표로 한다. Sawtooth는 핵심 시스템을 애플리케이션 도메인과 분리하여 블록 체인 애플리케이션 개발을 간소화합니다. 어플리케이션 개발자는 코어 시스템(core system)의 기본 설계를 알지 않고도 선택한 언어를 사용하여 어플리케이션에 적합한 비즈니스 규칙을 지정할 수 있습니다. Sawtooth는 모듈식이다. 이 모듈성은 기업과 컨소시엄은 정책 결정(policy decision)을 내릴 수 있다. Sawtooth의 핵심 설.. 더보기