🌟
(動画付き)[Astar]コントラクト備忘録34(Polkadot.jsを使って最新のブロックナンバーを取得し続けよう)
本日は、Polkadot.jsを使って、その時点での最新のブロックナンバーを取得していきたいと思います。
この記事に対応するYouTubeはこちらです。(33とセット)
こちらの公式を参考にしています。
https://polkadot.js.org/docs/api/examples/promise/listen-to-blocks/
このように、コードを書きました。(少しだけ公式から追記しています。)
async function main () {
// Initialise the provider to connect to the local node
const provider = new WsProvider('wss://rpc.shibuya.astar.network');
// Create the API and wait until ready
const api = await ApiPromise.create({ provider });
// We only display a couple, then unsubscribe
let count = 0;
// Subscribe to the new headers on-chain. The callback is fired when new headers
// are found, the call itself returns a promise with a subscription that can be
// used to unsubscribe from the newHead subscription
const unsubscribe = await api.rpc.chain.subscribeNewHeads((header) => {
console.log(`Chain is at block: #${header.number}`);
console.log("count", count)
if (++count === 256) {
unsubscribe();
process.exit(0);
}
});
}
main().then(() => console.log('completed'))
下のように、「api.rpc.chain.subscribeNewHeads」を用いて、ブロックの情報を取得しています。
実際に見てみると、このように取得をしてくれています。
また、blockscoutで実際の状態を確認すると、このように最新のものをとっていることが確認できました。
https://blockscout.com/shibuya/
以上です。
Discussion