Skip to main content
import { Block, BlockNumber, BlockHash } from 'voltaire-effect'
import { Effect } from 'effect'

const blockNum = Effect.runSync(BlockNumber.from(19000000n))

Block

Block.JSON — Full block data including header, body, hash, and size.
import { Block } from 'voltaire-effect'
import * as Schema from 'effect/Schema'

const block = Schema.decodeSync(Block.JSON)(blockData)

BlockNumber

BlockNumber.Number / BlockNumber.BigInt — Non-negative integer. from(n) — Creates block number with validation.
import { BlockNumber } from 'voltaire-effect'

const program = BlockNumber.from(19000000n)
// Effect<BlockNumberType, Error>

BlockHash

BlockHash.Hex — 32-byte branded type. from(input) — Creates from hex string or bytes. toHex(hash) — Converts to hex string.
import { BlockHash } from 'voltaire-effect'

const hash = await Effect.runPromise(
  BlockHash.from('0x88e96d4537bea4d9c05d12549907b32561d3bf31f45aae734cdc119f13406cb6')
)

See Also