Miss any of our Open RFC calls?Watch the recordings here! »

@openst/mosaic-proof

0.1.0-alpha.1 • Public • Published

Mosaic proof

Mosaic is a parallelization schema for decentralized applications. It composes heterogeneous blockchain systems into one another. Decentralized applications can use Mosaic to compute over a composed network of multiple blockchain systems in parallel. More details on Mosaic here

The protocol defines a set of actions that together perform atomic token transfers across two blockchains using gateway contracts. This is done using a 2-phase message passing architecture between the chains. This is done with proving Merkle Patricia proofs of messages generated from one chain to another chain.

Mosaic proof is a tool for generating Merkle Patricia proof of a message that is used by the protocol for message transfers.

###Usage install @openst/mosaic-proof package.

npm install @openst/mosaic-proof

Using proof generator.

import { ProofGenerator } from '@openst/mosaic-proof';

Create proof generator object.

const web3 = new Web3('http://localhost:8546');
const proofGenerator = new ProofGenerator(web3);

Generate message box outbox proof for a given message

const eip20GatewayAddress = '0xEIP20GatewayAddress000000000000000000000';
const messageHash = '0xMessageHash000000000000000000000000000000000000000000000000000';
const blockNumber = 'latest';
 
// Get MessageBox outbox proof.
const outboxProof:ProofData = await proofGenerator.getOutboxProof(
    eip20GatewayAddress,
    [messageHash], 
    blockNumber,
  );

Generate message box inbox proof for a given message

// Get MessageBox outbox proof.
const inboxProof: ProofData = await proofGenerator.getInboxProof(
    eip20GatewayAddress,
    [messageHash], 
    blockNumber,
  );
 

Install

npm i @openst/mosaic-proof

DownloadsWeekly Downloads

6

Version

0.1.0-alpha.1

License

Apache v2.0

Unpacked Size

29.5 kB

Total Files

9

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar