kzg-wasm
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

KZG-WASM

This module implements a JS wrapper around a WASM compilation of the c-kzg-4844 C library built for use with EIP-4844.

This library is produced by building the original C code to WASM using the empscripten toolchain in this fork and branch of c-kzg-4844.

Usage

This module exposes a single export, an async function called loadKZG which loads and compiles the WASM object, loads a trusted setup (defaults to the official setup from the KZG ceremony) and returns an object that exposes the API defined in the KZG type interface in @ethereum/util

To use with the @ethereumjs libraries, do the following:

import { loadKZG } from 'kzg-wasm'
import { Common, Chain, Hardfork } from '@ethereumjs/common'

const main = async () => {
    const kzg = await loadKZG()
    const common = new Common({
        chain: Chain.Mainnet,
        hardfork: Hardfork.Cancun,
        customCrypto: { kzg },
    })
    console.log(common.customCrypto.kzg) // Should print the initialized KZG interface
}

main()

Readme

Keywords

none

Package Sidebar

Install

npm i kzg-wasm

Weekly Downloads

449

Version

0.4.0

License

MIT

Unpacked Size

1.42 MB

Total Files

50

Last publish

Collaborators

  • holgerd77
  • acolytec3