GithubHelp home page GithubHelp logo

merkle-test's Introduction

Mina Snapp: Merkle Test

This template uses TypeScript.

How to build

npm run build

How to run tests

npm run test
npm run testw # watch mode

How to run coverage

npm run coverage

License

Apache-2.0

Meeting Notes

Merkle tree with IPFS and OrbitDB for key value store

I made a simple Mechanisms for committing the merkle root of an OrbitDB keyvaule store to chain and checking inclusion proofs.

Questions/Key Points
  • Is bit-wise XOR efficient in Mina? Is there any alternative for making proofs that don't require a position vector? Is a bunch of if a bad idea?
  • Would somebody be willing to walk me through the process for adding new stuff to the SnarkJS? Is it better to just make it it's own library? Is there an example of a SnarkyJS library? Are there plans to support interaction between contracts?
  • IPFS seems pretty DDoSable in general. Especially when it comes to updating IPNS entries.
  • Are we going for MVP or something permanent here. It seems like the distance between something that works today and something that makes sense long term could be pretty significant.

Native IPFS proofs

I believe it's possible to extend IPFS to use the Poseidon hash function! Then it should be possible to create proofs for Poseidon IPFS blocks directly. I don't know exactly what this would look like! I imagine reading state would be simple, but writing state would involve changing one of the blocks on IPFS and updating the onchain root. I haven't found and easy way to do change just one IPFS block yet. IPFS MFS makes it easy to do this at the file level, but implementing all of the MFS stuff in a snark might be too complicated. It's possible to just recreate the whole database from the ground up every time, but it seems like there should be a way to structure the data in IPFS instead of just committing it into a block.

Questions/Key Points
  • Are there plans to support SHA?
  • This would be a more general thing that I had originally imagined. It might be a lot more work, but it also might open the door to unique possibilities, and stay useful even if it doesn't become the primary offchain storage solution.

Mina Validium

Mina Validium

Questions/Key Points
  • Would someone who knows more about everything be willing to talk with me more about this?
  • Is there any plan for how sequencers will work yet?

merkle-test's People

Contributors

jackryanservia avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.