Notice
Recent Posts
Recent Comments
Link
devops
Quorum 블록체인의 Tessera Config 구성 정리 본문
반응형
테세라(Tessera)
테세라는 프라이빗 트랜잭션을 암호화, 복호화하는 자바 프로그램으로, 무상태성이며 JDBC 클라이언트와 연결될 수 있다. 테세라는 아래 4개의 서비스로 구성될 수 있다.
- Tessera Peer to Peer
- Tessera Third Party
- Tessera Admin
- Tessera Quorum to Tessera
Tessera Peer to Peer
이 서비스는 Tessera node간 통신을 위해 사용된다. 이 서비스를 활성화하기 위해서 tessera config 파일에 아래 section을 넣어야 한다.
CommunicationType의 REST와 app의 P2P는 P2P 서비스를 위한 설정이다. auto-discovery를 true로 설정하면 하나의 노드만 연결해도 다른 노드들의 세부 정보를 불러올 수 있다.
{
“app”: “P2P”,
“enabled”: true,
“serverAddress”: “http://HOST_IP:9000",
“sslConfig”: {
“tls”: “OFF”
},
“communicationType”: “REST”
}
Tessera Third Party
외부 어플리케이션의 암호화된 페이로드를 보관하는데 사용된다. 로우 트랜잭션 전송에도 같은 서비스가 사용된다.
{
“app”: “ThirdParty”,
“enabled”: true,
“serverAddress”: “http://HOST_IP:9080",
“communicationType”: “REST”
}
Tessera Admin
테세라 어플리케이션을 변경하기 위해 사용된다.
{
“app”: “ADMIN”,
“enabled”: true,
“serverAddress”: “http://HOST_IP:9090",
“communicationType”: “REST”
}
Tessera Quorum to Tessera
Quorum node들과의 인터렉션을 위해 사용된다. Unix socket을 사용하여 노드간 통신한다.
{
“app”: “Q2T”,
“enabled”: true,
“serverAddress”: “unix:/qdata/tm.ipc”,
“communicationType”: “REST”
}
Configuration items
- mode : tessera
- useWhiteList : 지정된 피어 이외의 연결은 제한, peer 리스트의 연결만 허용
- jdbc : 데이터베이스 연결
- serverConfigs : Enblave, P2P, Q2T, ThirdParty 설정 각 서버는 TLS와 InfluxDB의 API 메트릭 저장 지원
- peer : 테세라 노드들의 URL list
- keys : key 경로 및 설정
- alwaysSendTo : 모든 트랜잭션의 복사본을 특정 노드로 전송, 감사 목적으로 활용될 수 있음
- bootstrapNode : 부트스트랩노드 사용
- unixSocketFile : Unix socket 파일의 경로
- features : security&privacy 추가 옵션 지정
- encryptor : 암호화 유형 설정
Tessera-config.json 예제
{
"mode": "${TESSERA_MODE}",
"useWhiteList": false,
"jdbc": {
"username": "sa",
"password": "",
"url": "jdbc:h2:./data/tm/db;MODE=Oracle;TRACE_LEVEL_SYSTEM_OUT=0",
"autoCreateTables": true
},
"serverConfigs": [
{
"app": "ThirdParty",
"enabled": true,
"serverAddress": "http://${HOSTNAME}:9080",
"communicationType": "REST"
},
{
"app": "Q2T",
"enabled": true,
"serverAddress": "http://${HOSTNAME}:9101",
"sslConfig": {
"tls": "OFF"
},
"communicationType": "REST"
},
{
"app": "P2P",
"enabled": true,
"serverAddress": "http://${HOSTNAME}:9000",
"sslConfig": {
"tls": "OFF"
},
"communicationType": "REST"
}
],
"peer": [
{
"url": "http://member1tessera:9000"
},
{
"url": "http://member2tessera:9000"
},
{
"url": "http://member3tessera:9000"
}
],
"keys": {
"passwords": [],
"keyData": [
{
"privateKeyPath": "/config/keys/tm.key",
"publicKeyPath": "/config/keys/tm.pub"
}
]
},
"alwaysSendTo": [],
"bootstrapNode": false,
"features": {
"enableRemoteKeyValidation": false,
"enablePrivacyEnhancements": false
}
}
https://docs.tessera.consensys.net/en/stable/Reference/SampleConfiguration/
반응형
'DevOps > Chain' 카테고리의 다른 글
Quorum Blockchain Transaction 지연시간 테스트 (Latency Test) (0) | 2023.02.22 |
---|---|
Quorum의 Raft 합의 알고리즘 (0) | 2023.02.15 |
Quorum의 Private Transaction manager, Tessera 테세라란? (0) | 2023.01.26 |
위믹스(Wemix) 3.0 테스트넷 올리기 (0) | 2023.01.15 |
Cosmos Blockchain의 State machine, Tendermint, ABCI (0) | 2023.01.10 |
Comments