IOST
IOST 블록체인 및 IOST 스마트 컨트랙트로 보낼 트랜잭션을 생성하는 메인 클래스입니다.
constructor
IOST 클래스를 생성하고 초기화하는 특수 메서드입니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| config | Object | IOST 클래스의 설정 객체. 설정 항목은 다음과 같습니다: gasRatio: 트랜잭션 가스 가격 gasLimit: 트랜잭션 가스 한도 expiration: 트랜잭션 만료까지의 시간(초) |
Returns
IOST 객체 인스턴스.
Example
// IOST SDK 초기화
const iost = new IOST.IOST({ // 설정을 지정하지 않으면 기본값 사용
gasRatio: 1,
gasLimit: 100000,
expiration: 90,
});
callABI
컨트랙트의 ABI 함수를 호출합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| contract | String | 컨트랙트 ID 또는 컨트랙트 도메인 |
| abi | String | 컨트랙트 ABI 함수 이름 |
| args | Array | 함수 인자 배열 |
Returns
Transaction 객체.
Example
const tx = iost.callABI(
"token.iost",
"transfer",
["iost", "fromAccount", "toAccount", "10.000", "memo"]
);
newAccount
새로운 IOST 블록체인 계정을 생성합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| name | String | 새 계정의 이름 |
| creator | String | 생성자 계정 이름 |
| ownerkey | String | 생성자 계정의 ownerKey |
| activekey | String | 생성자 계정의 activeKey |
| initialRAM | Number | 새 계정의 초기 RAM. 생성자가 결제 |
| initialGasPledge | Number | 새 계정의 초기 가스 스테이킹. 생성자가 결제 |
Returns
Transaction 객체.
Example
// 먼저 새 계정용 KeyPair 생성
const newKP = KeyPair.newKeyPair();
// 그런 다음 새 계정 생성 트랜잭션 구성
const newAccountTx = iost.newAccount(
"test1",
"admin",
newKP.id,
newKP.id,
1024,
10
);
transfer
지정된 계정으로 토큰을 전송합니다. callABI의 wrapper.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| token | String | 토큰 이름 |
| from | String | 송금 계정 |
| to | String | 수령 계정 |
| amount | String | 송금 수량 |
| memo | Number | 송금 메모 |
Returns
Transaction 객체.
Example
const tx = iost.transfer("iost", "fromAccount", "toAccount", "10.000", "memo");
트랜잭션 전송 방법
IOST에서 트랜잭션을 전송하는 방법입니다. 서드파티 지갑과도 호환됩니다.
iost.setAccount(account);
iost.setRPC(rpc);
iost.signAndSend(tx)
.on("pending", console.log)
.on("success", console.log)
.on("failed", console.log);
서드파티 지갑은 IOST를 후킹하여 signAndSend() 함수를 가져갈 것을 권장합니다. 이렇게 하면 지갑이 있든 없든 동일하게 동작하는 코드를 작성할 수 있습니다.
지갑이 있을 때 signAndSend()는 지갑에서 동작하며 성공/실패 시 콜백을 호출합니다. 지갑이 없을 때는 IOST가 account로 트랜잭션을 서명하고 rpc를 통해 전송합니다.
signAndSend
트랜잭션에 서명하고 전송합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| tx | IOST.Tx | 전송할 트랜잭션 |
Returns
Callback 객체.
Example
iost.signAndSend(tx)
.on("pending", console.log)
.on("success", console.log)
.on("failed", console.log);
Callback.on(event, callback)
이벤트에 핸들러를 등록합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| event | String | 이벤트 이름. "pending", "success", "failed" 중 하나 |
| callback | function | 콜백 함수 |
Returns
자기 자신.
Example
iost.signAndSend(tx)
.on("pending", console.log)
.on("success", console.log)
.on("failed", console.log);
setAccount
IOST 인스턴스의 기본 계정을 설정합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| account | IOST.Account | 이 IOST 인스턴스가 사용할 계정 |
Returns
null
Example
iost.setAccount(account);
currentAccount
현재 IOST 인스턴스의 계정을 조회합니다.
Parameters
없음
Returns
IOST.Account 인스턴스.
Example
const account = iost.currentAccount();
setRPC
IOST 인스턴스에 사용할 RPC를 설정합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| rpc | IOST.RPC | 이 IOST 인스턴스가 사용할 RPC |
Returns
null.
Example
iost.setRPC(rpc);
currentRPC
현재 RPC를 조회합니다.
Parameters
없음
Returns
IOST.RPC 인스턴스.
Example
const rpc = iost.currentRPC();