Skip to content

Commit

Permalink
Merge pull request #22 from it-chain/develop
Browse files Browse the repository at this point in the history
master
  • Loading branch information
junbeomlee authored Jul 30, 2018
2 parents 10ce460 + 358c94e commit 4293e19
Show file tree
Hide file tree
Showing 56 changed files with 2,986 additions and 42 deletions.
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
#goland
.idea
.idea

#dep
vendor

#test
cellcode/query

#wsdb
wsdb/
34 changes: 34 additions & 0 deletions ARCHITECTURE-KR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Architecture

## Logical View

![logical-object](./image/logical-object.png)



- Tesseract

다수의 CellCode를 관리하며 Grpc를 통해 CellCode에게 ICode의 Invoke와 Query요청을 보낸다.

- CellCode

CellCode는 Docker Container 내부에서 돌아가는 독립적인 프로세스로 ICode를 컨트롤한다. CellCode는 grpc를 통해 Tesseract와 통신하며 Tesseract로 부터 Invoke와 Query요청을 받으면 해당하는 요청을 ICode로 실행시키고 결과값을 리턴한다.

- ICode

ICode는 It-chain위에 돌아가는 SmartContract이다.


![logical-runicode-sequenceDiagram](./image/logical-runicode-sequenceDiagram.png)

1. Tesseract가 Grpc를 통해 CellCode에게 실행 요청을 전송한다.
2. Grpc로 받은 요청에 따라 Invoke혹은 Query요청을 ICode로 실행한다.
3. ICode는 Invoke 혹은 Query요청을 수행하고 결과를 리턴한다.
4. ICode로 부터 받은 결과를 grpc를 통해 결과를 리턴한다.

## Deployment View

![deployment](./image/deployment.png)

Tesseract를 Peer에 존재하며 ICode의 Deploy시에 CellCode와 ICode는 DockContainer안으로 들어가 DockerContainer내부에서 실행된다.
247 changes: 247 additions & 0 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

38 changes: 38 additions & 0 deletions Gopkg.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Gopkg.toml example
#
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
# for detailed Gopkg.toml documentation.
#
# required = ["github.com/user/thing/cmd/thing"]
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
#
# [[constraint]]
# name = "github.com/user/project"
# version = "1.0.0"
#
# [[constraint]]
# name = "github.com/user/project2"
# branch = "dev"
# source = "github.com/myfork/project2"
#
# [[override]]
# name = "github.com/x/y"
# version = "2.4.0"
#
# [prune]
# non-go = false
# go-tests = true
# unused-packages = true


[[constraint]]
name = "docker.io/go-docker"
version = "1.0.0"

[[constraint]]
name = "github.com/stretchr/testify"
version = "1.2.1"

[prune]
go-tests = true
unused-packages = true
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# Tesseract

<p align="center"><img src="./image/tesseract.png"></p>

Tesseract is a library to run SmartContract on Docker Container.

## Architecture

Overview of the architecture of `Tesseract` can be found in the following link. <br>

[ARCHITECTURE](ARCHITECTURE-KR.md)

## Lincese

*Tesseract* source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the [LICENSE](LICENSE) file.
*Tesseract* source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the [LICENSE](LICENSE) file.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 4293e19

Please sign in to comment.