RPC methods
개요
이 문서는 BEATOZ
블록체인의 다양한 RPC 요청들을 처리하는 함수를 설명합니다. BEATOZ
블록체인에서는 데이터를 조회하기 위한 다양한 RPC 메소드들을 제공하고 있습니다. 제공하는 RPC 메소드들을 요청하는 방법을 예시를 통해 확인할 수 있습니다.
RPC 요청 함수
health
health
BEATOZ
노드의 네트워크 연결 상태를 확인하는 health 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: Promise<null> = await web3.beatoz.health();
console.log(result);
} catch (e) {
console.log(e);
}
응답
null
status
status
BEATOZ
네트워크의 상태를 확인하는 status 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: StatusResponse = await web3.beatoz.status();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
node_info: {
id: 'aadc84574ab72a8de81af876df69546f5112f6fd',
listen_addr: 'tcp://0.0.0.0:26656',
network: 'testnet0',
version: '0.34.24',
channels: '40202122233038606100',
moniker: 'ip-10-40-10-98',
other: Map(2) {
'tx_index' => 'on',
'rpc_address' => 'tcp://0.0.0.0:26657'
},
protocol_version: { app: '72620543991349248', block: 11, p2p: 8 }
},
sync_info: {
earliest_app_hash: '394D26CA253D1453A8485F19C0845F7752B78F8804A1CD37968A8089A72B6117',
earliest_block_hash: '8DAECF4CB13892442ABE50BCD8B5F7249B3B5E38D824198EF7792EC4BC8A8FE2',
earliest_block_height: 1,
earliest_block_time: 2023-10-23T00:55:13.604Z { nanoseconds: 720042 },
latest_block_hash: '296BE1E68CB4E0348150265B937A1BF9AD5B95D4EE170C4D5CD0F2EA77EC4AA1',
latest_app_hash: '3467DEDA9EABAA0DEA34B8B4BE82224556479ECC8AA4C294425BD77C5B5679B9',
latest_block_time: 2023-11-01T08:40:49.950Z { nanoseconds: 377457 },
latest_block_height: 522682,
catching_up: false
},
validator_info: {
pub_key: { type: 'tendermint/PubKeyEd25519', value: [Object] },
power: '0',
address: 'D222FC1EB4BB204E85FE03B850FCDF3888B8FC77',
name: undefined
}
}
netInfo
netInfo
BEATOZ
네트워크에 대한 정보를 확인하는 netInfo 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: NetInfoResponse = await web3.beatoz.netInfo();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
listening: true,
listeners: [ 'Listener(@)' ],
n_peers: '1',
peers: [
{
node_info: [Object],
is_outbound: true,
connection_status: [Object],
remote_ip: '10.40.30.118'
}
]
}
blockchain
blockchain
블록체인 정보를 조회하는 blockchain 메소드를 호출합니다. minHeight, MaxHeight로 범위를 설정할 수 있습니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: BlockchainResponse = await web3.beatoz.blockchain(1, 5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
last_height: 523008,
block_metas: [
{
block_id: [Object],
block_size: 600,
header: [Object],
num_txs: 0
},
{
block_id: [Object],
block_size: 600,
header: [Object],
num_txs: 0
},
{
block_id: [Object],
block_size: 600,
header: [Object],
num_txs: 0
},
{
block_id: [Object],
block_size: 600,
header: [Object],
num_txs: 0
},
{
block_id: [Object],
block_size: 351,
header: [Object],
num_txs: 0
}
]
}
block
block
특정 블록을 조회할 수 있는 block 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: BlockResponse = await web3.beatoz.block(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
block_id: {
hash: '65EC40CA47448E1F0C0181C01635E8AE90E4F8C75541F18DDC52324D931AA3F0',
parts: {
total: 1,
hash: '2B1B9218FCE5369B4C22D73BD279AF4563174D39C7E017FC9553DD0D1E787472'
}
},
block: {
header: {
version: [Object],
chain_id: 'testnet0',
height: 5,
time: [Date],
last_block_id: [Object],
last_commit_hash: 'D73A01763F00E2FE63CA2B37A63DBBB90BA1CA945DDAB17915E8D6EB6E17816D',
data_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
validators_hash: 'F801F5D280370F09F589A962022D669E28937E3500F2FC2DA2DE3BD30055AE38',
next_validators_hash: 'F801F5D280370F09F589A962022D669E28937E3500F2FC2DA2DE3BD30055AE38',
consensus_hash: '048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F',
app_hash: 'F13EA8DEDF3DF8D96F0778AB69A5A2B9333B7BE48DD34AC1403F07C07816FC19',
last_results_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
evidence_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
proposer_address: 'EFEBF132773AF5C3913EDF1BB0502107E3CE830D'
},
last_commit: { block_id: [Object], height: 4, round: 0, signatures: [Array] },
data: { txs: [] },
evidence: []
}
}
blockByHash
blockByHash
특정 블록 해시 값으로 블록 정보를 조회할 수 있는 block_by_hash 메소드를 호출합니다
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
const blockHash: string = '4dd7c7927bf1027bb5bb8e1cabd8165f9876f40976280fa98a92db94467f3b40';
try {
const result: BlockResponse = await web3.beatoz.blockByHash(blockHash);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
block_id: {
hash: '4DD7C7927BF1027BB5BB8E1CABD8165F9876F40976280FA98A92DB94467F3B40',
parts: {
total: 1,
hash: 'AD71568A889DBA337A54BA84B16C7BFA4AE44A5748F066DB581E062C36E65031'
}
},
block: {
header: {
version: [Object],
chain_id: 'testnet0',
height: 523371,
time: [Date],
last_block_id: [Object],
last_commit_hash: '0F3B9D3F6A3C8C91F6E6865525DB940F95177E0EABC5E4A96CDC03CECE3CFFEF',
data_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
validators_hash: '46ECE3D1B8835321AA59FF853517D8A5E334F4EB66EFA67AEB08CD912AC6FC61',
next_validators_hash: '46ECE3D1B8835321AA59FF853517D8A5E334F4EB66EFA67AEB08CD912AC6FC61',
consensus_hash: '048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F',
app_hash: '349C40DA18BB4C33ADC253DC4C7395EE21C34C856D3EF574EAA4F98D085374A9',
last_results_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
evidence_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
proposer_address: '636D6B4B823C324675B75986CD749DBC14B3E0A8'
},
last_commit: {
block_id: [Object],
height: 523370,
round: 0,
signatures: [Array]
},
data: { txs: [] },
evidence: []
}
}
blockResults
blockResults
특정 블록 높이로 블록 결과 값을 조회할 수 있는 block_results 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: BlockResultsResponse = await web3.beatoz.blockResults(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
height: 5,
txs_results: [],
validator_updates: [],
consensus_params_updates: undefined,
begin_block_events: [ { type: 'reward', attributes: [Array] } ],
end_block_events: []
}
commit
commit
특정 블록 높이에 대한 커밋 정보를 조회할 수 있는 commit 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: CommitResponse = await web3.beatoz.commit(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
canonical: true,
signed_header: {
header: {
version: [Object],
chain_id: 'testnet0',
height: 5,
time: [Date],
last_block_id: [Object],
last_commit_hash: 'D73A01763F00E2FE63CA2B37A63DBBB90BA1CA945DDAB17915E8D6EB6E17816D',
data_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
validators_hash: 'F801F5D280370F09F589A962022D669E28937E3500F2FC2DA2DE3BD30055AE38',
next_validators_hash: 'F801F5D280370F09F589A962022D669E28937E3500F2FC2DA2DE3BD30055AE38',
consensus_hash: '048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F',
app_hash: 'F13EA8DEDF3DF8D96F0778AB69A5A2B9333B7BE48DD34AC1403F07C07816FC19',
last_results_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
evidence_hash: 'E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855',
proposer_address: 'EFEBF132773AF5C3913EDF1BB0502107E3CE830D'
},
commit: { block_id: [Object], height: 5, round: 0, signatures: [Array] },
canonical: true
}
}
validators
validators
특정 블록 높이에 대한 검증인들의 정보를 조회하는 validators 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: ValidatorsResponse = await web3.beatoz.validators(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
block_height: 5,
validators: [
{
pub_key: [Object],
power: '7000000',
address: 'EFEBF132773AF5C3913EDF1BB0502107E3CE830D',
name: undefined
}
],
count: 1,
total: 1
}
genesis
genesis
BEATOZ
블록체인의 제네시스 정보를 조회할 수 있는 genesis 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: GenesisResponse = await web3.beatoz.genesis();
console.log(result);
} catch (e) {
console.log(e);
}
응답
genesis_time: 2023-10-23T00:55:13.604Z { nanoseconds: 720042 },
chain_id: 'testnet0',
initial_height: 1,
consensus_params: {
block: { max_bytes: 22020096, max_gas: -1, time_iota_ms: 1000 },
evidence: {
max_age_num_blocks: 100000,
max_age_duration: 172800000000000,
max_bytes: 1048576
},
validator: { pub_key_types: [Array] },
version: { app_version: 1 }
},
validators: [
{
address: 'EFEBF132773AF5C3913EDF1BB0502107E3CE830D',
pub_key: [Object],
power: '7000000',
name: ''
}
],
app_hash: '394D26CA253D1453A8485F19C0845F7752B78F8804A1CD37968A8089A72B6117',
app_state: {
assetHolders: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
],
govParams: {
version: '1',
maxValidatorCnt: '21',
minValidatorStake: '7000000000000000000000000',
rewardPerPower: '1585489599',
lazyRewardBlocks: '2592000',
lazyApplyingBlocks: '259200',
gasPrice: '250000000000',
minTrxGas: '4000',
maxTrxGas: '25000000',
maxBlockGas: '18446744073709551615',
minVotingPeriodBlocks: '259200',
maxVotingPeriodBlocks: '2592000',
minSelfStakeRatio: '50',
maxUpdatableStakeRatio: '30',
slashRatio: '50',
signedBlocksWindow: '10000',
minSignedBlocks: '500'
}
}
}
genesisChunked
genesisChunked
제네시스 블록을 청크로 조회할 수 있는 genesis_chunked 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: GenesisChunkedResponse = await web3.beatoz.genesisChunked(0);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
chunk: '0',
total: '1',
data: 'eyJnZW5lc2lzX3RpbWUiOiIyMDIzLTEwLTIzVDAwOjU1OjEzLjYwNDcyMDA0MloiLCJjaGFpbl9pZCI6InRlc3RuZXQwIiwiaW5pdGlhbF9oZWlnaHQiOiIxIiwiY29uc2Vuc3VzX3BhcmFtcyI6eyJibG9jayI6eyJtYXhfYnl0ZXMiOiIyMjAyMDA5NiIsIm1heF9nYXMiOiItMSIsInRpbWVfaW90YV9tcyI6IjEwMDAifSwiZXZpZGVuY2UiOnsibWF4X2FnZV9udW1fYmxvY2tzIjoiMTAwMDAwIiwibWF4X2FnZV9kdXJhdGlvbiI6IjE3MjgwMDAwMDAwMDAwMCIsIm1heF9ieXRlcyI6IjEwNDg1NzYifSwidmFsaWRhdG9yIjp7InB1Yl9rZXlfdHlwZXMiOlsic2VjcDI1NmsxIl19LCJ2ZXJzaW9uIjp7ImFwcF92ZXJzaW9uIjoiMSJ9fSwidmFsaWRhdG9ycyI6W3siYWRkcmVzcyI6IkVGRUJGMTMyNzczQUY1QzM5MTNFREYxQkIwNTAyMTA3RTNDRTgzMEQiLCJwdWJfa2V5Ijp7InR5cGUiOiJ0ZW5kZXJtaW50L1B1YktleVNlY3AyNTZrMSIsInZhbHVlIjoiQW96dWJBSXJMWDlzMjdoWmNMQ0tVRFNHT2J0SG9YRGhsNkhXazlKOWFaZ1oifSwicG93ZXIiOiI3MDAwMDAwIiwibmFtZSI6IiJ9XSwiYXBwX2hhc2giOiIzOTREMjZDQTI1M0QxNDUzQTg0ODVGMTlDMDg0NUY3NzUyQjc4Rjg4MDRBMUNEMzc5NjhBODA4OUE3MkI2MTE3IiwiYXBwX3N0YXRlIjp7ImFzc2V0SG9sZGVycyI6W3siYWRkcmVzcyI6IkEzNERBMTk1NTNBRjQ2RTNFRjY5MjdDRjM1MjJGQjQ1RERFQzA4MkYiLCJiYWxhbmNlIjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0seyJhZGRyZXNzIjoiQjY1RkY5MTA5ODVCOTFFQjhCRkZEMDMxNDQzNjU0NzVEMkVCQ0ExRSIsImJhbGFuY2UiOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifSx7ImFkZHJlc3MiOiJDNTE3RkVCQUU2NjI5OTM1OTRGQjUwRUQ4RjJEMjI0MDQ1QUFEODAxIiwiYmFsYW5jZSI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9LHsiYWRkcmVzcyI6IkFBMjFDNDJDNjUxMEYyREY5Q0YyMjJFRThFNUJENjJDQjM4NUEyMjEiLCJiYWxhbmNlIjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0seyJhZGRyZXNzIjoiRTU2Qjg2RTA3MTgxRDVGOEM3MUNGRkMwMDRENzkxNkFCOTIxQzg2OCIsImJhbGFuY2UiOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifSx7ImFkZHJlc3MiOiJFN0ZDMUNFNUZBRjQ2QTIwMjI2MjY0OTlGNTNFRjkxREM3NDYxRThGIiwiYmFsYW5jZSI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9LHsiYWRkcmVzcyI6IjRCNjY2NUY4Q0E3RDI3Nzk2Qzk1QzBEQjJDMkM2QTMyOTM3OTY5MDciLCJiYWxhbmNlIjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0seyJhZGRyZXNzIjoiM0NDQTk1N0Y4RDE5QUI0NUFFNEYzNTNCQTBEMDNFM0NDNDE2Rjc1OCIsImJhbGFuY2UiOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifSx7ImFkZHJlc3MiOiJGNTVFMDU5Qzg3OTFENkIwMUZFRTQ0NDEyMDlBNzgzRTRDQURDNTk1IiwiYmFsYW5jZSI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9XSwiZ292UGFyYW1zIjp7InZlcnNpb24iOiIxIiwibWF4VmFsaWRhdG9yQ250IjoiMjEiLCJtaW5WYWxpZGF0b3JTdGFrZSI6IjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJyZXdhcmRQZXJQb3dlciI6IjE1ODU0ODk1OTkiLCJsYXp5UmV3YXJkQmxvY2tzIjoiMjU5MjAwMCIsImxhenlBcHBseWluZ0Jsb2NrcyI6IjI1OTIwMCIsImdhc1ByaWNlIjoiMjUwMDAwMDAwMDAwIiwibWluVHJ4R2FzIjoiNDAwMCIsIm1heFRyeEdhcyI6IjI1MDAwMDAwIiwibWF4QmxvY2tHYXMiOiIxODQ0Njc0NDA3MzcwOTU1MTYxNSIsIm1pblZvdGluZ1BlcmlvZEJsb2NrcyI6IjI1OTIwMCIsIm1heFZvdGluZ1BlcmlvZEJsb2NrcyI6IjI1OTIwMDAiLCJtaW5TZWxmU3Rha2VSYXRpbyI6IjUwIiwibWF4VXBkYXRhYmxlU3Rha2VSYXRpbyI6IjMwIiwic2xhc2hSYXRpbyI6IjUwIiwic2lnbmVkQmxvY2tzV2luZG93IjoiMTAwMDAiLCJtaW5TaWduZWRCbG9ja3MiOiI1MDAifX19'
}
dumpConsensusState
dumpConsensusState
BEATOZ
블록체인의 현재 합의 상태를 조회할 수 있는 dump_consensus_state 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: DumpConsensusStateResponse = await web3.beatoz.dumpConsensusState();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
round_state: {
height: '524861',
round: 0,
step: 1,
start_time: '2023-11-01T09:37:39.97558846Z',
commit_time: '2023-11-01T09:37:38.97558846Z',
validators: { validators: [Array], proposer: [Object] },
proposal: null,
proposal_block: null,
proposal_block_parts: null,
locked_round: -1,
locked_block: null,
locked_block_parts: null,
valid_round: -1,
valid_block: null,
valid_block_parts: null,
votes: [ [Object] ],
commit_round: -1,
last_commit: {
votes: [Array],
votes_bit_array: 'BA{3:xxx} 21000000/21000000 = 1.00',
peer_maj_23s: {}
},
last_validators: { validators: [Array], proposer: [Object] },
triggered_timeout_precommit: false
},
peers: [
{
node_address: 'bb8a257773d37f4a6ba888b9fa5b40a18b6c77eb@10.40.30.118:26656',
peer_state: [Object]
}
]
}
consensusState
consensusState
BEATOZ
블록체인의 합의 상태 정보를 조회할 수 있는 consensus_state 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: ConsensusStateResponse = await web3.beatoz.consensusState();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
round_state: {
'height/round/step': '560412/0/6',
start_time: '2023-11-02T01:03:19.299943048Z',
proposal_block_hash: '01606465FEFE30545D1DCD3C2438646E26691FEA6389C8E420C0AA7FD4655B49',
locked_block_hash: '01606465FEFE30545D1DCD3C2438646E26691FEA6389C8E420C0AA7FD4655B49',
valid_block_hash: '01606465FEFE30545D1DCD3C2438646E26691FEA6389C8E420C0AA7FD4655B49',
height_vote_set: [ [Object], [Object] ],
proposer: { address: '636D6B4B823C324675B75986CD749DBC14B3E0A8', index: 0 }
}
}
consensusParams
consensusParams
특정 블록 높이에서의 합의 매개변수를 조회할 수 있는 consensus_params 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: ConsensusParamsResponse = await web3.beatoz.consensusParams(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
block_height: '5',
consensus_params: {
block: { max_bytes: '22020096', max_gas: '-1', time_iota_ms: '1000' },
evidence: {
max_age_num_blocks: '100000',
max_age_duration: '172800000000000',
max_bytes: '1048576'
},
validator: { pub_key_types: [Array] },
version: { app_version: '1' }
}
}
unconfirmedTxs
unconfirmedTxs
입력된 한도만큼 컨펌되지 않은 트랜잭션을 조회할 수 있는 unconfirmed_txs 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: UnconfirmedTxsResponse = await web3.beatoz.unconfirmedTxs(5);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{ n_txs: '0', total: '0', total_bytes: '0', txs: [] }
txSearch
txSearch
지정된 쿼리 문자열에 따라 트랜잭션을 검색하고, 반환해주는 tx_search 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: TxSearchResponse = await web3.beatoz.txSearch('tx.height=515992');
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
total_count: 1,
txs: [
{
tx: 'CAEQgMmC866z2skXGAIiFDzKlX+NGatFrk81O6DQPjzEFvdYKhQ7oY3oqXJWNAK8pLlldA512VSOrDIJGxrk1uLvUAAAOMCEPUIFOjUpRABIAVpBEmm/jFsIU4I9M1cw67/uKSTpNkDwrA4K+OoUUjrFDalXuPTfPAAhqQ+9fryOofz/PNXJMGe01uMPontinq7p2wA=',
hash: '946100C74D0993E90FA4501DF09DA9C70897AC9E71AD892F91D7FD7D04CD55D1',
height: 515992,
index: 0,
result: [Object],
proof: undefined,
tx_result: [Object]
}
]
}
tx
tx
BEATOZ
블록체인에서 트랜잭션 해시 값을 입력해서 결과 값을 조회할 수 있는 tx 메소드를 호출합니다. -요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: TxResponse = await web3.beatoz.tx('946100c74d0993e90fa4501df09da9c70897ac9e71ad892f91d7fd7d04cd55d1');
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
tx: 'CAEQgMmC866z2skXGAIiFDzKlX+NGatFrk81O6DQPjzEFvdYKhQ7oY3oqXJWNAK8pLlldA512VSOrDIJGxrk1uLvUAAAOMCEPUIFOjUpRABIAVpBEmm/jFsIU4I9M1cw67/uKSTpNkDwrA4K+OoUUjrFDalXuPTfPAAhqQ+9fryOofz/PNXJMGe01uMPontinq7p2wA=',
hash: '946100C74D0993E90FA4501DF09DA9C70897AC9E71AD892F91D7FD7D04CD55D1',
height: 515992,
index: 0,
result: {
code: 0,
codespace: '',
log: '',
data: null,
events: [ [Object] ],
gas_wanted: '1000000',
gas_used: '1000000'
},
proof: {
data: 'CAEQgMmC866z2skXGAIiFDzKlX+NGatFrk81O6DQPjzEFvdYKhQ7oY3oqXJWNAK8pLlldA512VSOrDIJGxrk1uLvUAAAOMCEPUIFOjUpRABIAVpBEmm/jFsIU4I9M1cw67/uKSTpNkDwrA4K+OoUUjrFDalXuPTfPAAhqQ+9fryOofz/PNXJMGe01uMPontinq7p2wA=',
root_hash: '5F739A65D19856E98E8C5663ABBBA19ACACE168E2795569F7FEDC3EE93103BC6',
proof: {
total: 1,
index: 0,
leaf_hash: 'X3OaZdGYVumOjFZjq7uhmsrOFo4nlVaff+3D7pMQO8Y=',
aunts: []
}
},
tx_result: {
code: 0,
codespace: '',
log: '',
data: null,
events: [ [Object] ],
gas_wanted: '1000000',
gas_used: '1000000'
}
}
abciInfo
abciInfo
BEATOZ
블록체인 노드 정보를 조회할 수 있는 abci_info 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: AbciInfoResponse = await web3.beatoz.abciInfo();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
response: {
version: '0.17.0',
app_version: '72620543991349248',
last_block_height: 561044,
last_block_app_hash: 'fXg7LijXNP/tuaMQC1cla2iemItJoeXXqXgR44b3qZg='
}
}
checkTx
checkTx
BEATOZ
블록체인에 제출하기 전 트랜잭션의 상태를 확인할 수 있는 check_tx 메소드를 호출합니다.
요청
import { Web3, TrxProtoBuilder, TrxProto, AccountResponse } from '@beatoz/web3';
import { Web3Account } from '@beatoz/web3-accounts';
// create web3 instance
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
// import private key
const privateKey: string = 'your private key';
const account: Web3Account = privateKeyToAccount(privateKey);
// get accountInfo
const accountInfo: AccountResponse = await web3.beatoz.getAccount(account.address);
// create transaction
const trxProto: TrxProto = TrxProtoBuilder.buildTransferTrxProto({
from: accountInfo.value.address,
to: 'address',
nonce: account.value.nonce,
amount: '100',
gas: 1000000,
gasPrice: '250000000000',
});
try {
const result: CheckTxResponse = await web3.beatoz.checkTx(trxProto);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
code: 0,
data: null,
log: '',
info: '',
gas_wanted: '1000000',
gas_used: '1000000',
events: [],
codespace: '',
sender: '',
priority: '0',
mempoolError: ''
}
numUnconfirmedTxs
numUnconfirmedTxs
BEATOZ
블록체인에서 컨펌되지 않은 트랜잭션의 수를 확인할 수 있는 num_unconfirmed_txs 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: NumUnconfirmedTxsResponse = await web3.beatoz.numUnconfirmedTxs()
console.log(result);
} catch (e) {
console.log(e);
}
응답
{ n_txs: 0, total: 0, total_bytes: 0, txs: [] }
broadcastTxAsync
broadcastTxAsync
트랜잭션을 BEATOZ
블록체인 네트워크에 비동기적으로 제출할 수 있는 broadcast_tx_async 메소드를 호출합니다..
요청
import { Web3, TrxProtoBuilder, TrxProto, AccountResponse } from '@beatoz/web3';
import { Web3Account } from '@beatoz/web3-accounts';
// create web3 instance
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
// import private key
const privateKey: string = 'your private key';
const account: Web3Account = privateKeyToAccount(privateKey);
// get accountInfo
const accountInfo: AccountResponse = await web3.beatoz.getAccount(account.address);
// create transaction
const trxProto: TrxProto = TrxProtoBuilder.buildTransferTrxProto({
from: accountInfo.value.address,
to: 'address',
nonce: account.value.nonce,
amount: '100',
gas: 1000000,
gasPrice: '250000000000',
});
// sign transaction
TrxProtoBuilder.signTrxProto(tx, account, 'testnet0');
try {
const result: BroadcastTxAsyncResponse = await web3.beatoz.broadcastTxAsync(tx);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
code: 0,
codespace: '',
log: '',
data: '',
events: [],
gas_wanted: undefined,
gas_used: undefined,
hash: '47C1F5DAFB2A62A92DDB293518EB43E2A38FF5E87625531C46B6A72D4CDAC1FC'
}
broadcastTxSync
broadcastTxSync
트랜잭션을 BEATOZ
블록체인 네트워크에 비동기적으로 제출할 수 있는 broadcast_tx_sync 메소드를 호출합니다.
요청
import { Web3, TrxProtoBuilder, TrxProto, AccountResponse } from '@beatoz/web3';
import { Web3Account } from '@beatoz/web3-accounts';
// create web3 instance
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
// import private key
const privateKey: string = 'your private key';
const account: Web3Account = privateKeyToAccount(privateKey);
// get accountInfo
const accountInfo: AccountResponse = await web3.beatoz.getAccount(account.address);
// create transaction
const trxProto: TrxProto = TrxProtoBuilder.buildTransferTrxProto({
from: accountInfo.value.address,
to: 'address',
nonce: account.value.nonce,
amount: '100',
gas: 1000000,
gasPrice: '250000000000',
});
// sign transaction
TrxProtoBuilder.signTrxProto(tx, account, 'testnet0');
try {
const result: BroadcastTxSyncResponse = await web3.beatoz.broadcastTxSync(tx);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
code: 0,
codespace: '',
log: '',
data: '',
events: [],
gas_wanted: undefined,
gas_used: undefined,
hash: 'F95B852EE37F83DB0882EBAF9DF877A7B59C654D07B080ED513564657E56C9CA'
}
broadcastTxCommit
broadcastTxCommit
트랜잭션을 BEATOZ
블록체인 네트워크에 제출하고 커밋이 완료될 때까지 대기하는 broadcast_tx_commit 메소드를 호출합니다.
요청
import { Web3, TrxProtoBuilder, TrxProto, AccountResponse } from '@beatoz/web3';
import { Web3Account } from '@beatoz/web3-accounts';
// create web3 instance
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
// import private key
const privateKey: string = 'your private key';
const account: Web3Account = privateKeyToAccount(privateKey);
// get accountInfo
const accountInfo: AccountResponse = await web3.beatoz.getAccount(account.address);
// create transaction
const trxProto: TrxProto = TrxProtoBuilder.buildTransferTrxProto({
from: accountInfo.value.address,
to: 'address',
nonce: account.value.nonce,
amount: '100',
gas: 1000000,
gasPrice: '250000000000',
});
// sign transaction
TrxProtoBuilder.signTrxProto(tx, account, 'testnet0');
try {
const result: BroadcastTxCommitResponse = await web3.beatoz.broadcastTxCommit(tx);
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
height: 562639,
hash: '466F6AFE6F38D6E98986CE975BC61BF3F4F4FAAC9F5209660FB44196F1D34E00',
check_tx: {
code: 0,
codespace: '',
log: '',
data: null,
events: [],
gas_wanted: '1000000',
gas_used: '1000000'
},
deliver_tx: {
code: 0,
codespace: '',
log: '',
data: null,
events: [ [Object] ],
gas_wanted: '1000000',
gas_used: '1000000'
}
}
delegatee
delegatee
BEATOZ
블록체인의 위임 정보를 조회할 수 있는 delegatee 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: DelegateeResponse = await web3.beatoz.delegatee('636d6b4b823c324675b75986cd749dbc14b3e0a8')
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
key: '636D6B4B823C324675B75986CD749DBC14B3E0A8',
value: {
address: '636D6B4B823C324675B75986CD749DBC14B3E0A8',
pubKey: '03EC1DCFD15C06F220B491407E1049B1AC3FE241838C0DD4ECF285AB3BA400F371',
selfPower: '7000000',
totalPower: '7000010',
slashedPower: '0',
stakes: [ [Object], [Object] ],
NotSignedHeights: { blockHeights: null }
},
height: 563101
}
rule
rule
BEATOZ
블록체인의 거버넌스 규칙을 조회할 수 있는 rule 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: RuleResponse = await web3.beatoz.rule();
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
value: {
version: '1',
maxValidatorCnt: '21',
minValidatorStake: '7000000000000000000000000',
rewardPerPower: '1585489599',
lazyRewardBlocks: '2592000',
lazyApplyingBlocks: '259200',
gasPrice: '250000000000',
minTrxGas: '4000',
maxTrxGas: '25000000',
maxBlockGas: '18446744073709551615',
minVotingPeriodBlocks: '259200',
maxVotingPeriodBlocks: '2592000',
minSelfStakeRatio: '50',
maxUpdatableStakeRatio: '30',
slashRatio: '50',
signedBlocksWindow: '10000',
minSignedBlocks: '500'
},
height: 563202
}
getAccount
getAccount
계정에 대한 정보를 조회할 수 있는 account 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: AccountResponse = await web3.beatoz.getAccount('fef705700f04ccb3c722d12ba8217fc0b50529ac')
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
key: 'FEF705700F04CCB3C722D12BA8217FC0B50529AC',
value: {
address: 'FEF705700F04CCB3C722D12BA8217FC0B50529AC',
nonce: 8,
balance: '4998083843250000000000',
name: undefined,
docURL: undefined
}
}
stakes
stakes
트랜잭션을 BEATOZ
블록체인 네트워크에 제출하고 커밋이 완료될 때까지 대기하는 broadcast_tx_commit 메소드를 호출합니다.
요청
import { Web3 } from '@beatoz/web3';
const web3 = new Web3('https://rpc1.testnet.beatoz.io');
try {
const result: StakesResponse = await web3.beatoz.stakes('636d6b4b823c324675b75986cd749dbc14b3e0a8')
console.log(result);
} catch (e) {
console.log(e);
}
응답
{
key: '636D6B4B823C324675B75986CD749DBC14B3E0A8',
value: [
{
owner: '636D6B4B823C324675B75986CD749DBC14B3E0A8',
to: '636D6B4B823C324675B75986CD749DBC14B3E0A8',
txhash: 'F72491CCA7DD47867654A39EC30C76704543D19BEBA8F793AC15E40EC0D4DF1D',
startHeight: '5361',
refundHeight: '0',
power: '7000000'
}
],
height: 563416
}
Last updated