BlockOperation¶
Block 자체에 연관되어 있는 연산들을 제공합니다.
Get Block Metadata¶
Block의 메타정보를 조회합니다. 해당되는 정보가 없는 경우 null을 리턴합니다.
해쉬를 사용해서 조회.
BlockHash blockHash = BlockHash.of("DN9TvryaThbJneSpzaXp5ZsS4gE3UMzKfaXC4x8L5qR1");
BlockMetadata blockMetadata = client.getBlockOperation().getBlockMetadata(blockHash);
System.out.println("Block metadata by hash: " + blockMetadata);
높이를 사용해서 조회.
long height = 27_066_653L;
BlockMetadata blockMetadata = client.getBlockOperation().getBlockMetadata(height);
System.out.println("Block metadata by height: " + blockMetadata);
List Block Metadata¶
Block의 메타정보들을 조회합니다. 한번에 조회할 수 있는 최고 크기는 1000입니다.
해쉬를 사용해서 조회.
// block metadatas by from hash to previous 100 block
BlockHash blockHash = BlockHash.of("DN9TvryaThbJneSpzaXp5ZsS4gE3UMzKfaXC4x8L5qR1");
List<BlockMetadata> blockMetadatas = client.getBlockOperation()
.listBlockMetadatas(blockHash, 100);
System.out.println("Block metadatas by hash: " + blockMetadatas);
높이를 사용해서 조회.
// block metadatas by from height to previous 100 block
long height = 27_066_653L;
List<BlockMetadata> blockMetadatas = client.getBlockOperation()
.listBlockMetadatas(height, 100);
System.out.println("Block metadatas by height: " + blockMetadatas);
Get Block¶
Block정보를 조회합니다. 해당되는 정보가 없을 경우 null을 리턴합니다.
해쉬를 사용해서 조회.
BlockHash blockHash = BlockHash.of("DN9TvryaThbJneSpzaXp5ZsS4gE3UMzKfaXC4x8L5qR1");
Block block = client.getBlockOperation().getBlock(blockHash);
System.out.println("Block by hash: " + block);
높이를 사용해서 조회.
long height = 27_066_653L;
Block block = client.getBlockOperation().getBlock(height);
System.out.println("Block by height: " + block);
Block Metadata Subscription¶
새롭게 생성된 Block 메타정보를 구독합니다.
// make a subscription
Subscription<BlockMetadata> subscription = client
.getBlockOperation().subscribeBlockMetadata(new StreamObserver<BlockMetadata>() {
@Override
public void onNext(BlockMetadata value) {
System.out.println("Next block metadata: " + value);
}
@Override
public void onError(Throwable t) {
}
@Override
public void onCompleted() {
}
});
// wait for a while
Thread.sleep(2000L);
// unsubscribe it
subscription.unsubscribe();
Block Subscription¶
새롭게 생성된 Block 정보를 구독합니다.
// make a subscription
Subscription<Block> subscription = client.getBlockOperation()
.subscribeBlock(new StreamObserver<Block>() {
@Override
public void onNext(Block value) {
System.out.println("Next block: " + value);
}
@Override
public void onError(Throwable t) {
}
@Override
public void onCompleted() {
}
});
// wait for a while
Thread.sleep(2000L);
// unsubscribe it
subscription.unsubscribe();