Blobscriptions Docs
  • 👋Blobscriptions protocol
    • Introducing Blobscriptions
    • Protocol Specifications
    • Vision
    • Roadmap
  • 🪙Blob20
    • Basics:
    • Indexing Rules
      • Deploy
      • Mint
      • Transfer
  • 💡BSIPs
    • What are BSIPs?
Powered by GitBook
On this page
  • High Level
  • Indexing Mechanics
  • Creating Blobscriptions
  • From EOA
  1. Blobscriptions protocol

Protocol Specifications

An overview of the protocol

PreviousIntroducing BlobscriptionsNextVision

Last updated 1 year ago

High Level

Indexing Mechanics

Blobscriptions protocol is an extension of the Ethscriptions protocol utilizing ESIP-8 proposal. The protocol state is determined by indexing all Ethereum transcations in order, starting with transactions that carries the "blobs" sidecars and proceeding from there sequentially in order of block number and transaction index within the block.

The genesis Blobscriptions on chain is

Creating Blobscriptions

Creating an Blobscriptions in Javascript:

You can use the cbor package and Viem's toBlobs:

import { toBlobs } from "viem"
import { loadKZG } from "kzg-wasm"
import * as cbor from "borc"


const transfer_json = JSON.stringify(transferToken(ticker, transfer))
const blob20blobscription = cbor.encode({
    contentType: "application/json",
    content: transfer_json,
})
const blobs = toBlobs({ data: blob20blobscription })

From EOA

  • content

  • contentType

If the concatenated data is a valid CBOR object, and that object decodes into a hash with exactly those two fields, a Blobscritpion is created.

Note:

  • There is no uniqueness requirement for the attachment's content and/or contentType.

  • Attachment content, contentType, and the container CBOR object itself can each be optionally gzipped with a maximum compression ratio of 10x.

  • The attachment is not valid if:

    • If the CBOR object has a tag

    • If the decoded object his not a hash

    • If the decoded hash's keys aren't exactly content and contentType. There cannot be extra keys.

    • The values of content and contentType aren't both strings (either binary or UTF-8).

Any successful Ethereum transaction whose input data has the parameter rule=esip6 and the transaction does include blobs. The blobs are concatenated and interpreted as an untagged object (as defined by ) that decodes into a hash with exactly these keys:

Currently there's no plugin wallets that supports EOA sending a EIP-4844 transaction that carries blobs. A web app simple wallet that supports this is or .

👋
https://blobscan.com/tx/0x4a2984e01e2cea4e4cc057e8f496bbe5d9a7a2f99c5f9ac7b1e8280c64958f0b
CBOR
RFC 8949
https://blobscriptions.glypher.io/
https://wallet.blob20.pro/