Skip to content

Add JAM PVM service blob (.jam) pattern#506

Closed
DrEverr wants to merge 1 commit intoWerWolv:masterfrom
DrEverr:stas-jam
Closed

Add JAM PVM service blob (.jam) pattern#506
DrEverr wants to merge 1 commit intoWerWolv:masterfrom
DrEverr:stas-jam

Conversation

@DrEverr
Copy link
Copy Markdown

@DrEverr DrEverr commented Mar 13, 2026

Summary

Adds a pattern for .jam service blob files used by the JAM (Join-Accumulate Machine) blockchain protocol.

Format

JAM .jam files are PVM (PolkaVM) service programs. The pattern decodes:

  • Metadata length + metadata bytes
  • SPI header: ro_data_size (u24 LE), rw_data_size (u24 LE), heap_pages (u16 LE), stack_size (u24 LE)
  • Read-only data segment
  • Read-write data segment
  • Program blob length (u32 LE)
  • Jump table entry count
  • Entry size (u8)
  • Code length
  • Jump table
  • PVM bytecode
  • Instruction boundary bitmask (packed, LSB-first)

References

@DrEverr DrEverr closed this May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant