[Blockchain] 하이퍼레저 패브릭 ABI ( Hyperledger Fabric ABI )
퍼블릭 / 프라이빗 / 컨소시엄 블록체인 / ABI
퍼블릭 블록체인 ABI (Application Binary Interface)
- ABI는 ‘스마트 컨트랙트 코드’ 에 대한 설명이 담긴 JSON 형식의 인터페이스이다
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
]
}
...
-
dApp 에서 체인코드(스마트 컨트랙트) 를 호출해야하는데
-
호출할 수 있는 함수 목록을 뽑아주는것이 ‘ABI’ 이다
프라이빗 & 컨소시엄 블록체인 ABI
- 프라이빗, 컨소시엄 네트워크를 쓰는
‘하이퍼레저 패브릭’ 에서는 ‘ABI’ 가 필요없다
-
하이퍼레저 패브릭 에서는 체인코드 자체를 함수 단위로 코드 작성을 한다
-
그래서 바로 함수를 호출 할 수 있는 구조이다
ABI를 뽑지 않는 이유
이더리움과 같은 경우는 공용(퍼블릭) 네트워크 이고
- 누군가 체인코드(스마트 컨트랙트) 를 올리면
- 그 코드를 보고 누구나 디앱을 만들수 있다
- 그래서 ABI 가 필요하지만
하이퍼레저 패브릭은 프라이빗 네트워크 라서
- 네트워크를 누구나 사용하지 못하기 때문에
- 함수 목록을 뽑아주는 ‘ABI’ 를 만들 필요가 없다
⭐ 필요한 개발자끼리만 코드를 공유한다
더 공부할 내용
- 하이퍼레저 소투스 (Hyperledger Sawtooth)
- 하이퍼레저 컴포저 (Hyperledger Composer)
- 하이퍼레저 인디 (Hyperledger Indy)
- 하이퍼레저 솔로 (SOLO, Single Ordering Service Node)
- CouchDB vs LevelDB
- 하이퍼레저 패브릭 네트워크 구조