JSON-RPC API
IBAX 네트워크와 상호 작용하기 위해 소프트웨어 응용 프로그램은 IBAX 네트워크 노드에 연결해야 합니다.
기존 REST API 인터페이스의 일반성과 확장성으로 인해 인터페이스가 점점 더 많아지고 클라이언트가 다양해질수록 복잡해지는 것을 인식하였습니다. 우리는 인터페이스의 통일성을 중요시하고, 구체적인 노드와 클라이언트 구현에 관계없이 모든 클라이언트가 동일한 규격을 사용할 수 있도록 보장하고자 합니다.
JSON-RPC는 상태를 가지지 않는 가벼운 원격 프로시저 호출(RPC) 프로토콜입니다. 데이터 구조와 처리 규칙을 정의합니다. 전송과는 관련이 없으며, 이러한 개념은 동일한 프로세스 내에서 인터페이스, HTTP 또는 다양한 메시지 전달 환경을 통해 사용할 수 있습니다. 데이터 형식으로 JSON(RFC 4627)을 사용합니다.
JSON-RPC는 대부분의 REST API 인터페이스와 호환되며, 기존의 REST API 인터페이스를 유지하면서 REST API 인터페이스를 사용하는 클라이언트는 JSON-RPC 인터페이스로 쉽게 전환할 수 있습니다. 일부 인터페이스는 다음과 같습니다:
REST API를 통해 얻을 수 있습니다.
클라이언트 측 구현
각 클라이언트는 JSON-RPC 사양을 실행하는 데 다른 프로그래밍 언어를 사용할 수 있습니다. GO-SDK (opens new window)를 사용할 수 있습니다.
Curl 예제
아래는 IBAX 노드에 curl 요청을 보내 JSON-RPC 애플리케이션 인터페이스를 사용하는 예제입니다. 각 예제에는 특정 엔드포인트, 해당 매개변수 및 반환 유형에 대한 설명, 그리고 작동 예제를 사용하는 방법이 포함되어 있습니다.
Curl 요청은 콘텐츠 유형과 관련된 오류 메시지를 반환할 수 있습니다. 이는 --data 옵션으로 콘텐츠 유형을 application/x-www-form-urlencoded로 설정하기 때문입니다. 이 문제가 발생하는 경우 호출 시작 시 -H "Content-Type: application/json"을 사용하여 수동으로 헤더를 설정하십시오. 이러한 예제에는 또한 URL/인터넷 프로토콜 및 포트 조합이 포함되어 있지 않으며, 이 조합은 curl의 마지막 매개변수여야 합니다 (예: 127.0.0.1:7079). 이러한 추가 데이터를 포함하는 완전한 curl 요청은 다음과 같은 형식을 취합니다:
계약
Hex
16진수 인코딩
바이트 배열, 해시 또는 바이트 코드 배열을 인코딩할 때는 각 바이트마다 두 개의 16진수 숫자로 표현하는 16진수 형식을 사용합니다.
요청 유형
항상 사용하세요
- Content-Type: application/json
특수 표시{#special-markers}
Omitempty
이 필드는 선택적 매개변수입니다.
만약 연속으로 여러 개의 Omitempty
필드가 존재하지만, 특정 필드의 값만 전달하려면, 필요하지 않은 필드를 비워야 합니다(해당 필드의 값은 빈 값이어야 함). 예시:
만약 name의 값만 전달하려면, 요청 매개변수는 다음과 같이 전달됩니다:
만약 column의 값만 전달하려면, 요청 매개변수는 다음과 같이 전달됩니다:
Authorization
Authorization 인증 헤더, 요청 헤더에 Authorization 추가, 예시:
name : Authorization value : Bearer +login token
Example:
AccountOrKeyId
계정 주소 매개변수는 두 가지 형식의 주소를 사용할 수 있습니다. 예시:
- String - 계정 주소
"XXXX-XXXX-XXXX-XXXX-XXXX"
또는 계정 ID "64842...538120"
- Object - 주소 객체
- key_id - Number - 계정 ID, 예시:
{"key_id":-64842...38120}
- account - String - 계정 주소, 예시:
{"account":"1196-...-...-...-3496"}
계정 주소와 계정 ID가 동시에 존재할 경우 계정 ID를 우선 사용합니다.
BlockOrHash
블록 높이 또는 블록 해시, 예시:
- String - 블록 높이
"100"
또는 블록 해시 "4663aa47...a60753c18d9ba9cb4"
일괄 요청
이 기능은 특히 대량의 독립적인 데이터 개체를 가져올 때 네트워크 지연을 줄이는 데 사용할 수 있습니다.
다음은 최고 블록과 총 거래 수를 가져오는 예시입니다:
오류 응답 처리{#error-response-handling}
요청이 성공적으로 실행되었을 경우 상태 코드 200
을 반환합니다.
오류가 발생한 경우 다음 필드를 포함한 JSON 객체를 반환합니다:
jsonrpc
오류 식별자.
id
오류 텍스트 정보.
error
code
응답 상태 코드
message
응답 상태 설명
JSON-RPC Namespaces
ibax Namespace
인증 인터페이스
서버 명령 인터페이스
데이터 요청 기능 인터페이스
지표 인터페이스를 가져옵니다.
생태계 인터페이스
스마트 계약 기능 인터페이스
net Namespace
rpc Namespace
admin Namespace
debug Namespace
JSON-RPC 인터페이스 메서드
ibax.getUid
Authorization Omitempty
임시 JWT 토큰을 생성하고 **login**을 호출할 때 토큰을 Authorization에 전달해야 합니다.
매개변수
없음
반환값
uid - String - 서명된 숫자입니다.
token - String - 로그인할 때 전달되는 임시 토큰(임시 토큰의 수명은 5초입니다).
network_id - String - 네트워크 식별자입니다.
cryptoer - String - 타원 곡선 알고리즘입니다.
hasher - String - 해시 알고리즘입니다.
인증이 필요하지 않은 경우(요청에 Authorization가 포함되지 않은 경우) 다음 정보가 반환됩니다:
expire - String - 만료 시간입니다.
ecosystem - String - 생태계 ID입니다.
key_id - String - 계정 주소입니다.
address - String - 지갑 주소 XXXX-XXXX-XXXX-XXXX-XXXX
입니다.
network_id - String - 네트워크 식별자입니다.
예시
ibax.login
사용자 인증. Authorization
먼저 ibax.getUid 명령을 호출하여 고유한 값을 받고 서명해야합니다. getuid의 임시 JWT 토큰은 요청 헤더에 전달되어야합니다. 요청이 성공하면 응답에서 받은 토큰은 Authorization에 포함됩니다.
매개변수
Object - 인증 호출 객체
ecosystem_id - Number - 생태계 ID. 지정되지 않은 경우 기본값은 첫 번째 생태계 ID입니다.
expire - Number - JWT 토큰의 수명 (초). 기본값은 28800, 8시간입니다.
public_key - Hex String - 16진수 계정 공개 키.
key_id - String -
계정 주소 XXXX-...-XXXX
.
공개 키가 이미 블록 체인에 저장된 경우이 매개 변수를 사용하십시오. pubkey 매개 변수와 함께 사용할 수 없습니다.
signature - String -
getuid에서 받은 uid를 개인 키로 서명합니다.
서명 데이터 내용: LOGIN + {$network_id} + uid.
role_id - Number - 역할 ID, 기본 역할 0입니다.
반환 값 Object - 인증 객체
token - String - JWT 토큰.
ecosystem_id - String - 생태계 ID.
key_id - String - 계정 주소 ID.
account - String - 지갑 주소 XXXX-XXXX-XXXX-XXXX-XXXX
.
notify_key - String - 알림 ID.
isnode - Bool - 해당 계정 주소가 노드 소유자인지 여부. 값: true,false
.
isowner - Bool - 해당 계정 주소가 생태계 생성자인지 여부. 값: true,false
.
clb - Bool - 로그인한 생태계가 CLB인지 여부. 값: true,false
.
timestamp - String - 현재 타임스탬프.
roles - Array - 역할 목록, 역할이 없는 경우 nil.
- role_id - Number - 역할 ID.
- role_name - String - 역할 이름.
예시
ibax.getAuthStatus
사용자 신분 인증 상태.
Authorization
매개 변수
죄송합니다, 번역할 내용이 없습니다. 다른 내용을 입력해주세요.
반환 값 Object - 인증 상태 객체입니다.
예시
ibax.getVersion
현재 서버 버전을 반환합니다.
매개변수
없음
반환 값
- vesion - String - 버전 번호(
big Version
+ branch name
+ git commit
+ time
+ node status
)。
예시
ibax.getBalance
계정 주소 잔액을 가져옵니다.
매개 변수
반환 값 Object - 잔액 객체를 가져옵니다.
amount - String - 계약 계정의 최소 단위 잔액입니다.
total - String - 계정의 최소 단위 총 잔액 (amount + utxo).
utxo - String - 최소 단위 UTXO 계정 잔액입니다.
digits - Number - 정밀도입니다.
token_symbol - String - 토큰 심볼입니다.
예시
ibax.getBlocksTxInfo
각 블록에 포함된 거래의 관련 추가 정보 목록을 반환합니다.
매개 변수
block_id - Number - 조회할 시작 블록 높이입니다.
count - Number - 블록 수, 기본값은 25이며, 최대 요청은 100입니다.
반환 값 Object - 블록 정보 객체를 가져옵니다.
예시
ibax.detailedBlocks
각 블록에 포함된 거래의 상세한 추가 정보 목록을 반환합니다.
매개 변수
반환 값 Object - 블록 세부 정보를 가져옵니다.
- block_id - String - 블록 높이입니다.
- header - Object - 블록 헤더입니다. 블록 헤더에는 다음과 같은 필드가 포함됩니다:
- block_id - Number - 블록 높이입니다.
- time - Number - 블록 생성 타임스탬프입니다.
- key_id - Number - 해당 블록에 서명한 계정 주소입니다.
- node_position - Number - 블록을 생성한 노드의 위치입니다.
- version - Number - 블록 구조 버전입니다.
- hash - Hex String - 블록 해시입니다.
- node_position - Number - 블록을 생성한 노드의 위치입니다.
- key_id - Number - 해당 블록에 서명한 계정 주소입니다.
- time - Number - 블록 생성 타임스탬프입니다.
- tx_count - Number - 블록 내의 트랜잭션 수입니다.
- size - String - 블록의 크기입니다.
- rollback_hash - Hex String - 블록 롤백 해시 값입니다.
- merkle_root - Hex String - 블록의 트랜잭션에 대한 머클 트리입니다.
- bin_data - Hex String - 블록 헤더, 블록 내 모든 트랜잭션, 이전 블록 해시 및 해당 블록을 생성한 노드의 개인 키의 직렬화입니다.
- transactions - Object - 트랜잭션입니다. 블록에 포함된 트랜잭션 목록과 각 트랜잭션의 추가 정보입니다:
- hash - Hex String - 트랜잭션 해시입니다.
- contract_name - String - 스마트 계약 이름입니다.
- params - Object - 스마트 계약 매개변수입니다. 스마트 계약 필드는 ibax.getContractInfo를 통해 조회할 수 있습니다.
- key_id - Number - 해당 트랜잭션에 서명한 계정 주소입니다.
- time - Number - 트랜잭션 생성 타임스탬프 (단위: ms)입니다.
- type - Number - 트랜잭션 유형입니다.
- size - String - 트랜잭션 크기입니다.
예시
ibax.getKeyInfo
특정 주소에 등록된 역할이 포함된 생태계 목록을 반환합니다.
매개 변수
- account - String - 계정 주소.
반환 값 Object - 지정된 주소의 생태계 목록 객체.
- account - String - 계정 주소.
- ecosystems - Array - 생태계 목록.
- ecosystem - String - 생태계 시스템 ID.
- name - String - 생태계 시스템 이름.
- digits - Number - 정밀도.
- roles - Array - 역할 목록.
- id - String - 역할 ID.
- name - String - 역할 이름.
예시
ibax.detailedBlock
거래의 상세한 부가 정보 목록을 블록 내에서 반환합니다.
매개 변수
반환 값 Object - 블록 세부 정보를 가져옵니다.
header - Object - 블록 헤더 블록 헤더에는 다음과 같은 필드가 포함됩니다:
- block_id - Number - 블록 높이.
- time - Number - 블록 생성 타임스탬프.
- key_id - Number - 해당 블록에 서명한 계정 주소.
- node_position - Number - 블록을 생성한 노드의 위치.
- version - Number - 블록 구조 버전.
hash - Hex String - 블록 해시.
node_position - Number - 블록을 생성한 노드의 위치.
key_id - Number - 해당 블록에 서명한 계정 주소.
time - Number - 블록 생성 타임스탬프.
tx_count - Number - 블록 내의 트랜잭션 수.
size - String - 블록 크기.
rollback_hash - Hex String - 블록 롤백 해시 값.
merkle_root - Hex String - 블록 내 트랜잭션의 머클 트리.
bin_data - Hex String - 블록 헤더, 블록 내 모든 트랜잭션, 이전 블록 해시 및 해당 블록을 생성한 노드의 개인 키의 직렬화.
transactions - Array - 트랜잭션 블록에 포함된 트랜잭션 목록 및 각 트랜잭션의 추가 정보:
- hash - Hex String - 트랜잭션 해시.
- contract_name - String - 스마트 계약 이름.
- params - Object - 스마트 계약 매개변수. 스마트 계약 필드는 ibax.getContractInfo를 통해 조회할 수 있습니다.
- key_id - Number - 해당 트랜잭션에 서명한 계정 주소.
- time - Number - 트랜잭션 생성 타임스탬프 (단위: ms).
- type - Number - 트랜잭션 유형.
- size - String - 트랜잭션 크기.
예시
ibax.maxBlockId
현재 노드의 최고 블록 ID를 가져옵니다.
매개변수
없음
반환 값
- Number - 현재 노드의 최고 블록입니다.
예시
ibax.getKeysCount
현재 노드에 있는 총 주소 수를 가져옵니다.
매개변수
없음
반환 값
예시
ibax.getTxCount
현재 노드의 총 거래 수를 가져옵니다.
매개변수
없음
반환 값
예시
ibax.getTransactionCount
블록의 거래 수를 가져옵니다.
매개 변수
반환 값
- Count - Number - 구역 총 수량.
예시
ibax.getBlocksCountByNode
노드 위치와 패킹된 블록 수를 가져옵니다.
매개 변수
반환 값 객체 - 노드 인덱스 패킹 수 객체를 가져옵니다.
- total_count - 숫자 - 총 블록 수입니다.
- partial_count - 숫자 - 노드 인덱스 패킹된 블록 수입니다.
예시
ibax.honorNodesCount
영광 노드의 수를 얻습니다.
매개변수
없음
반환 값
예시
ibax.getEcosystemCount
생태계의 수를 얻으십시오.
매개변수
없음
반환 값
예시
ibax.ecosystemInfo
생태계 정보를 가져옵니다.
매개 변수
- ecosystem id - Number - 생태계 ID.
반환 값
- id - Number - 생태계 ID.
- name - String - 생태계 이름.
- digits - Number - 정밀도.
- token_symbol - String - 토큰 심볼.
- token_name - String - 토큰 이름.
- total_amount - String - 발행량 (첫 발행량, 발행되지 않은 경우 "0").
- is_withdraw - Bool - 소각 가능 여부 (
true
: 소각 가능, false
: 소각 불가능). - withdraw - String - 소각량 (소각 불가능하거나 소각되지 않은 경우 "0").
- is_emission - Bool - 추가 발행 가능 여부 (
true
: 추가 발행 가능, false
: 추가 발행 불가능). - emission - String - 추가 발행량 (추가 발행 불가능하거나 추가 발행되지 않은 경우 "0").
- introduction - String - 생태계 소개.
- logo - Number - 생태계 로고 ID (Binary 테이블 ID에 해당), RESTful API를 통해 얻을 수 있음.
- creator - String - 생태계 생성자.
예시
ibax.appParams
현재 또는 지정된 생태계에서의 애플리케이션 매개변수 목록을 반환합니다.
Authorization
매개 변수
appid - Number - 애플리케이션 ID.
ecosystem - Number - Omitempty - 생태계 ID;
지정되지 않거나 0이면 현재 생태계의 매개변수를 반환합니다.
names - String - Omitempty - 애플리케이션 매개변수 이름 필터링.
쉼표로 구분된 이름 목록입니다. 예: name1,name2
.
offset - Number - Omitempty 오프셋, 기본값은 0입니다.
limit - Number - Omitempty 항목 수, 기본값은 10이며 최대 100입니다.
반환 값
배열 - 응용 프로그램 매개 변수 목록.
- app_id - 숫자 - 응용 프로그램 ID.
- list - 숫자 - 배열의 각 요소는 다음 매개 변수를 포함합니다.
- id - String - 매개 변수 ID, 고유합니다.
- name - String - 매개 변수 이름.
- value - String - 매개 변수 값.
- conditions - String - 매개 변수를 변경하는 권한.
예시
ibax.getEcosystemParams
생태계 매개 변수 목록을 가져옵니다.
Authorization
매개 변수
ecosystem - Number - Omitempty - 생태계 ID입니다.
0이거나 이 매개변수가 없는 경우 기본값은 현재 생태계 ID입니다.
names - String - Omitempty - 필터링할 매개변수 이름입니다.
쉼표로 구분된 이름 목록입니다. 예: name1,name2
.
필터링 매개변수가 있는 경우 offset 및 limit 매개변수는 무시됩니다.
offset - Number - Omitempty - 오프셋 값입니다. 기본값은 0입니다.
limit - Number - Omitempty - 항목 수입니다. 기본값은 10이며 최대 100입니다.
반환 값
- list - Array - 배열의 각 요소는 다음 매개변수를 포함합니다:
- id - String - 매개변수 ID입니다. 고유합니다.
- name - String - 매개변수 이름입니다.
- value - String - 매개변수 값입니다.
- conditions - String - 매개변수 변경 권한입니다.
예시
ibax.getTableCount
현재 생태계의 데이터 테이블 목록을 반환합니다.
오프셋과 항목 수를 설정할 수 있습니다.
Authorization 매개 변수
반환 값
예시
ibax.getTable
현재 생태계에서 데이터 테이블에 대한 관련 정보를 반환합니다.
Authorization
매개 변수
- tableName - String - 데이터 테이블 이름.
반환 값
name - String - 데이터 테이블 이름.
insert - String - 항목 추가 권한.
new_column - *String - 새로운 열 권한.
update - *String - 항목 변경 권한.
app_id - String - 애플리케이션 ID.
conditions - String - 권한 변경 조건.
columns - *Array - 데이터 테이블 필드 관련 정보 배열:
- name - String - 필드 이름.
- type - String - 필드 데이터 유형.
- perm - String - 해당 필드 값을 변경하는 권한.
예시
ibax.getList
지정된 데이터 테이블의 항목을 반환합니다.
반환할 열을 지정할 수 있습니다.
오프셋과 항목 수를 설정할 수 있습니다.
쿼리 조건을 설정할 수 있습니다.
데이터 테이블에서 BYTEA(바이트 배열, 해시, 바이트 코드 배열) 유형을 16진수로 인코딩 처리합니다.
Authorization
매개 변수 Object - 데이터 테이블 객체를 가져옵니다.
name - String - 데이터 테이블 이름.
limit - Number - Omitempty 항목 수 제한, 기본값은 25입니다.
offset - Number - Omitempty 오프셋, 기본값은 0입니다.
order - String - Omitempty 정렬 순서, 기본값은 id ASC입니다.
columns - String - Omitempty 요청할 열 목록, 쉼표로 구분됩니다. 지정하지 않으면 모든 열이 반환됩니다.
모든 경우에 id 열이 반환됩니다.
where - Object - Omitempty
쿼리 조건, 예: id>2 및 name = john을 조회하려면 where:{"id":{"$gt":2},"name":{"$eq":"john"}}
를 사용할 수 있습니다.
자세한 내용은 DBFind where 구문을 참조하세요.
반환 값
예시
ibax.getSections
현재 생태계의 탭 목록 항목을 반환합니다. 오프셋과 항목 수를 설정할 수 있습니다.
role_access 필드에 역할 목록이 포함되어 있고 현재 역할이 포함되어 있지 않으면 레코드가 반환되지 않습니다. title 필드 내 데이터는 요청 헤더의 Accept-Language 언어 리소스로 대체됩니다.
Authorization
매개 변수
- Object - sections 요청 객체를 가져옵니다.
limit - Number - Omitempty - 항목 수 제한, 기본값은 25입니다.
offset - Number - Omitempty - 오프셋, 기본값은 0입니다.
lang - String - Omitempty -
이 필드는 다국어 리소스 코드 또는 로캘을 지정합니다. 예를 들어: en, kr. 지정된 다국어 리소스를 찾을 수 없는 경우, 예를 들어: en-US, 다국어 리소스 그룹에서 default: en을 검색합니다.
반환 값
예시
ibax.getRow
지정된 데이터 테이블의 항목을 현재 생태계에서 반환합니다. 반환할 열을 지정할 수 있습니다.
Authorization 매개 변수
tableName - String - 데이터 테이블 이름.
id - Number - 항목 ID.
columns - String - Omitempty
요청한 열의 목록을 쉼표로 구분하여 지정합니다. 지정하지 않으면 모든 열을 반환합니다.
필터링하지 않을 경우 ""로 설정할 수 있습니다.
모든 경우에 id 열이 반환됩니다.
whereColumn - String - Omitempty - 찾을 열 이름 (숫자 유형 열만 찾을 수 있음).
반환 값
- value- Object - 열 값이 들어있는 객체.
- id - String - 항목 ID.
- ... - 요청한 열의 시퀀스.
예시
ibax.systemParams
플랫폼 매개변수 목록을 반환합니다.
Authorization 매개 변수
names - String Omitempty - 요청 매개변수 목록을 쉼표로 구분한 문자열입니다.
예: names="name1,name2"
. 필터링 매개변수가 있는 경우 offset 및 limit 매개변수는 무시됩니다.
offset - Number - Omitempty 오프셋 값으로 기본값은 0입니다.
limit - Number Omitempty 항목 수로 기본값은 10이며 최대 100입니다.
반환 값
- list - Array - 배열의 각 요소는 다음 매개변수를 포함합니다:
- id - String - 고유한 ID입니다.
- name - String - 매개변수 이름입니다.
- value - String - 매개변수 값입니다.
- conditions - String - 매개변수 변경 권한입니다.
예시
ibax.history
지정된 데이터 테이블의 항목 변경 기록을 현재 생태계에서 반환합니다.
Authorization
반환 값
list - Array - 각 요소는 요청된 항목의 변경 기록을 포함합니다.
이름 - *String - 데이터 테이블 이름.
tableId - Number - 항목 ID.
반환 값
- list - Array - 요청한 항목의 변경 기록을 포함하는 각 요소가 있는 배열.
예시
현재 생태계 시스템의 페이지 데이터 테이블 필드 항목을 가져옵니다.
Authorization
매개 변수
- name - String - 지정된 표의 항목 이름입니다.
반환 값
- id - Number - 항목 ID.
- name - String - 항목 이름.
- value - String - 내용.
- menu - String - 메뉴.
- nodesCount - Number - 페이지에서 필요한 노드 수.
- app_id - Number - 애플리케이션 ID.
- conditions - String - 매개변수 변경 권한.
예시
현재 생태계 메뉴 데이터 테이블의 필드 항목을 가져옵니다.
Authorization
매개 변수
- name - String - 지정된 표의 항목 이름입니다.
반환 값
- id - Number - 항목 ID.
- name - String - 항목 이름.
- title - String - 제목.
- value - String - 내용.
- conditions - String - 매개변수 변경 권한.
예시
ibax.getSnippetRow
현재 생태계 스니펫 데이터 테이블의 필드 항목을 가져옵니다.
Authorization
매개 변수
- name - String - 지정된 표의 항목 이름입니다.
반환 값
- id - Number - 항목 ID.
- name - String - 항목 이름.
- value - String - 내용.
- conditions - String - 매개변수 변경 권한.
예시
ibax.getAppContent
애플리케이션 관련 정보 (페이지, 스니펫, 메뉴 포함)를 가져옵니다.
Authorization
매개 변수
- id - Number - 응용 프로그램 ID.
반환 값
snippets - Array - 코드 조각 정보 배열.
- id - Number - 아이디.
- name - String - 코드 조각 이름.
pages - Array - 페이지 정보 배열.
- id - Number - 아이디.
- name - String - 페이지 이름.
contracts - Array - 계약 정보 배열.
- id - Number - 아이디.
- name - String - 계약 이름.
예시
ibax.getMember
멤버 정보를 가져옵니다.
매개 변수 account - String - 멤버 정보.
ecosystemId - Number - 생태 아이디.
반환 값
- id - Number - 멤버 아이디.
- member_name - String - 이름.
- image_id - Number - 프로필 사진 아이디.
- member_info - String - 소개.
예시
ibax.getContracts
현재 생태계에서의 계약 목록을 가져올 수 있으며, 오프셋과 항목 수를 설정할 수 있습니다.
Authorization
매개 변수
반환 값
예시
ibax.getContractInfo
지정된 계약의 관련 정보를 반환합니다.
Authorization
매개 변수
- contractName - String - 계약 이름입니다. 형식은
@ecosystem_id%%contractName%
이며, 예를 들어 @1contractName(생태계 1에서 지정된 계약 이름 contractName) 또는 contractName(현재 생태계 계약 이름 contractName)과 같습니다.
반환 값
- id - Number - VM에서의 계약 ID입니다.
- name - String - 생태계 ID가 포함된 계약 이름
@1MainCondition
입니다. - state - Number - 계약이 속한 생태계 ID입니다.
- walletid - String - 계약이 바인딩된 계정 주소입니다.
- tokenid - String - 계약 수수료로 지불되는 토큰이 속한 생태계 ID입니다.
- address - String - 계약이 바인딩된 지갑 주소
XXXX-...-XXXX
입니다. - tableid - String - contracts 테이블에서 계약이 위치한 항목 ID입니다.
- fields - Array - 배열에는 계약 data 부분의 각 매개변수의 구조 정보가 포함됩니다:
- name - String - 매개변수 이름입니다.
- type - String - 매개변수 유형입니다.
- optional - Bool - 매개변수 옵션입니다.
true
는 선택적 매개변수를 나타내고, false
는 필수 매개변수를 나타냅니다.
예시
ibax.sendTx
매개변수로 받은 거래를 거래 대기열에 추가하고, 요청이 성공적으로 실행되면 거래 해시를 반환합니다. 이 해시를 사용하여 해당 거래를 블록 내에서 얻을 수 있으며, 오류 응답이 발생할 경우 해당 해시는 오류 텍스트 메시지에 포함됩니다.
Authorization
매개 변수
- Object - 거래 데이터 개체
- tx_key - String - 거래 내용, 이 매개 변수는 임의의 이름을 지정할 수 있으며, 여러 거래를 받을 수 있습니다.
반환 값
- 해시 - Array - 거래 해시 배열:
- tx1 - String - 거래 1의 해시.
- txN - String - 거래 N의 해시.
예시
ibax.txStatus
지정된 거래 해시의 블록 ID와 오류 메시지를 가져옵니다. 블록 ID와 오류 텍스트 메시지의 반환 값이 비어있으면 해당 거래는 아직 블록에 포함되지 않았습니다.
Authorization
매개 변수
- hashes - String - 거래 해시,
,
로 구분하여 사용하십시오.
반환 값
- hash - Object - 거래 해시입니다.
blockid - String - 거래가 성공적으로 실행되면 블록 ID가 반환됩니다.
거래가 실패하면 blockid는 0
이 되며, 거래 실행 오류로 인해 처벌이 있을 경우 해당 블록 ID가 반환됩니다.
result - String - 거래 결과를 $result 변수로 반환합니다.
errmsg - Object - Omitempty 거래 실행 실패 시 오류 텍스트 정보가 반환됩니다.
- type - String - 오류 유형입니다.
- error - String - 오류 메시지입니다.
penalty - Number - 거래 실행 실패 시 (0: 처벌 없음, 1: 처벌 있음)입니다.
예시
ibax.txInfo
지정된 해시의 거래 관련 정보를 반환합니다. 이 정보에는 블록 ID와 확인 수가 포함됩니다. 선택적 매개변수를 지정하면 계약 이름과 관련 매개변수도 반환할 수 있습니다.
매개 변수
반환 값
blockid - Number - 해당 거래를 포함하는 블록 ID입니다. 값이 0
이면 해당 해시의 거래를 찾을 수 없습니다. 거래가 현재 노드에서 발생한 경우 ibax.txStatus를 통해 확인할 수 있습니다.
confirm - Number - 해당 블록 blockid의 노드 확인 수입니다.
데이터 - Object - contentinfo=true
가 지정된 경우 계약 세부 정보를 반환합니다. 지정되지 않은 경우 null입니다.
- block_id - Number - 블록 높이입니다.
- block_hash - String - 블록 해시입니다.
- address - String - 트랜잭션 생성 주소입니다.
- ecosystem - String - 트랜잭션 전송 생태계 ID입니다.
- hash - String - 트랜잭션 해시입니다.
- expedite - String - 긴급 수수료입니다. 없으면 ""입니다.
- contract_name - String - 계약 이름입니다.
- params - Object - 계약 매개변수입니다. 계약 필드는 ibax.getContractInfo를 통해 조회할 수 있습니다.
- created_at - Number - 트랜잭션 생성 시간입니다.
- size - String - 트랜잭션 크기 단위: B;KiB;MiB;GiB;TiB입니다.
- status - String - 상태 (0: 성공 1: 벌점)입니다.
예시
ibax.txInfoMultiple
지정된 해시 목록의 거래 관련 정보를 반환합니다.
매개 변수
반환 값
- results - Array - 거래 해시를 키로 사용하여 거래 세부 정보를 값으로 하는 데이터 사전입니다.
- hash - String - 거래 해시입니다.
- blockid - *Number - 해당 거래를 포함하는 블록의 ID입니다. 값이
0
이면 해당 해시의 거래를 찾을 수 없습니다. - confirm - Number - 블록 ID가 있는 블록의 확인 수입니다.
- data - Object -
contentinfo=true
가 지정된 경우 이 매개변수에는 계약 세부 정보가 반환됩니다. 지정되지 않은 경우 null입니다.
- block_id - Number - 블록 높이입니다.
- block_hash - String - 블록 해시입니다.
- address - String - 거래 생성 주소입니다.
- ecosystem - String - 거래 전송 생태계 ID입니다.
- hash - String - 거래 해시입니다.
- expedite - String - 긴급 수수료가 있으면 표시되고, 없으면 ""입니다.
- contract_name - String - 계약 이름입니다.
- params - Object - 계약 매개변수입니다. 계약 필드는 ibax.getContractInfo를 통해 조회할 수 있습니다.
- created_at - Number - 거래 생성 시간입니다.
- size - String - 거래 크기 단위: B;KiB;MiB;GiB;TiB입니다.
- status - String - 상태 (0: 성공, 1: 벌점)입니다.
예시
ibax.getPageValidatorsCount
지정된 페이지에 필요한 인증 노드 수를 반환합니다.
매개 변수
- name - String - 페이지 이름은
@ecosystem_id%%page_name%
형식으로 작성되며, 예를 들어 @1params_list(생태계 1의 페이지 이름 params_list) 또는 params_list(현재 생태계의 페이지 이름 params_list)와 같이 사용됩니다.
반환 값
- validate_count - Number - 지정된 페이지에서 필요한 노드 수를 확인합니다.
예시
ibax.getPage
지정된 페이지 이름의 코드 JSON 객체 트리를 가져옵니다. 이것은 템플릿 엔진의 처리 결과입니다.
Authorization
매개 변수
name - String - 페이지 이름에 생태계 ID가 포함되어 있으며, 형식은 @ecosystem_id%%page_name%
입니다. 예를 들어 @1main_page
와 같습니다.
생태계 ID가 포함되지 않은 경우, 현재 생태계의 페이지를 기본적으로 찾습니다. 예를 들어 main_page
입니다.
반환 값
menu - String - 페이지가 속하는 메뉴 이름입니다.
menutree - Array - 페이지의 메뉴 JSON 객체 트리입니다.
tree - Array - 페이지의 JSON 객체 트리입니다.
예시
지정된 메뉴 이름의 코드 JSON 객체 트리를 가져옵니다. 이것은 템플릿 엔진에서 처리한 결과입니다.
Authorization
매개 변수
- name - String -
생태계 ID가 포함된 메뉴 이름은 @ecosystem_id%%menu_name%
형식으로 작성됩니다. 예를 들어 @1main_menu
와 같습니다. 생태계 ID가 없는 경우에는 현재 생태계의 메뉴를 기본으로 찾습니다. 예를 들어 main_menu
입니다.
반환 값
예시
ibax.getSource
지정된 페이지 이름의 코드 JSON 객체 트리를 반환합니다. 어떤 함수도 실행하지 않고 어떤 데이터도 받지 않습니다. 반환된 JSON 객체 트리는 페이지 템플릿에 해당하며, 시각적인 페이지 디자이너에서 사용할 수 있습니다. 페이지를 찾을 수 없는 경우 404 오류를 반환합니다.
Authorization
매개 변수
- name - String -
생태계 ID가 포함된 페이지 이름은
@ecosystem_id%%page_name%
형식으로 작성됩니다. 예를 들어 @1main_page
와 같습니다. 생태계 ID가 없는 경우에는 현재 생태계에서 해당 페이지를 찾습니다. 예를 들어 main_page
입니다.
반환 값
- tree - Array - 페이지의 JSON 객체 트리입니다.
예시
ibax.getPageHash
지정된 페이지 이름의 SHA256 해시를 반환하고 페이지를 찾을 수 없는 경우 404 오류를 반환합니다.
다른 노드에 요청을 보낼 때 올바른 해시를 받으려면 ecosystem, key_id, role_id 매개변수를 전달해야 합니다. 다른 생태계에서 페이지를 받으려면 페이지 이름에 생태계 ID를 접두사로 추가해야 합니다. 예를 들어: @2mypage
.
매개 변수
name - String - 생태계 ID가 포함된 페이지 이름입니다. 형식은 @ecosystem_id%%page_name%
이며, 예를 들어 @1main_page
와 같이 생태계 ID를 지정할 수 있습니다.
ecosystem - Number - Omitempty 생태계 식별자.
Object - Omitempty 지정된 페이지 개체를 가져옵니다.
- key_id - String - 계정 주소입니다.
- role_id - String - 역할 ID입니다.
반환 값
- Object -
- hash - String - 십육진수 해시 값.
예시
ibax.getContent
template 매개변수에서 페이지 코드의 JSON 객체 트리를 반환합니다. 선택적 매개변수로 source를 true
로 지정하면 해당 JSON 객체 트리는 함수를 실행하거나 데이터를 받지 않습니다. 이 JSON 객체 트리는 시각적 페이지 디자이너에서 사용할 수 있습니다.
매개 변수
반환 값
- tree - Object - JSON 객체 트리.
예시
ibax.getBlockInfo
지정된 블록 ID의 관련 정보를 반환합니다.
매개 변수
반환 값
hash - String - 블록의 해시 값입니다.
key_id - Number - 해당 블록을 서명한 계정 주소입니다.
time - Number - 블록 생성 타임스탬프입니다.
tx_count - Number - 해당 블록 내의 전체 거래 수입니다.
rollbacks_hash - String - 블록 롤백 해시 값입니다.
node_position - Number - 블록이 명예 노드 목록에서의 위치입니다.
consensus_mode - Number - 합의 모드입니다. (1: 생성자 관리 모드, 2: DAO 거버넌스 모드)
예시
ibax.getConfig
centrifugo의 호스트 주소와 포트를 가져옵니다.
매개 변수
반환 값
- centrifugo - String - Omitempty centrifugo的主机地址和端口 结果格式
http://address:port
,例如: http://127.0.0.1:8100
。
예시
net.getNetwork
노드 정보를 가져옵니다.
매개변수
없음
반환 값
- network_id - String - 네트워크 식별자입니다.
- centrifugo_url - String - centrifugo 메시지 서비스 주소입니다.
- test - Bool - 테스트 체인 여부입니다.
- private - Bool - 개인 체인 여부입니다.
- honor_nodes - Object - 명예 노드 목록입니다.
- tcp_address - String - TCP 주소입니다.
- api_address - String - API 주소입니다.
- public_key - String - 노드 공개 키입니다.
- unban_time - String - 잠금 해제 시간입니다.
예시
net.status
현재 노드 상태를 가져옵니다.
매개변수
없음
반환 값
- status - String - 노드 상태입니다.
"node server status is running" - 노드가 실행 중입니다.
"node server is updating" - 노드가 업데이트 중입니다.
"node server is stopped" - 노드가 일시 중지되었습니다.
예시
rpc.modules
현재 등록된 JSON-RPC 인터페이스를 가져옵니다.
매개변수
없음
반환 값
- Array - JSON-RPC 인터페이스 배열입니다.
예시
admin.startJsonRpc
JSON-RPC 네임스페이스 서비스 변경을 위해 사용할 수 있습니다.
매개 변수 methods - String - JSON-RPC 모듈, 기본값: "ibax,net"입니다.
반환 값
예시
admin.stopJsonRpc
JSON-RPC 서비스를 종료합니다.
매개변수
없음
반환 값
예시
debug.getNodeBanStat
노드의 비활성 상태를 가져옵니다.
매개변수
없음
반환 값
node_position - Number - 노드 인덱스.
status - Bool - 비활성 상태, true
는 금지 상태를 의미하며, false
는 비활성화되지 않음을 의미합니다.
예시
debug.getMemStat
현재 노드의 메모리 사용 상황을 가져옵니다.
매개변수
없음
반환 값
예시