Coder Social home page Coder Social logo

liszt's Introduction

CircleCI

liszt:

Liszt is a version of zk-rollup (layer 2 scaling sloution for ethereum) which will allow:

In ETH 1:

  • Transfer funds from one zk-roolup to another. (For example Exchange -> Casino)

In ETH 2:

  • Cross shard transfers
  • Delegated executions, paying for transactions on shard X with funds locked in the rollup in shard Y.

More information can be found here: https://hackmd.io/gmZ_SkryRDOF7JeG6_rpTw?view

You need to install Ganache, for linux use:

sudo npm install -g ganache-cli

Then you can build by cloning this repository

Building:

  • git clone https://github.com/ConsenSys/liszt
  • cd liszt
  • gradle test
  • gradle shadowJar

To run open the console and launch the server with the following command:

Running REST server:

  • java -Xms6000m -Xmx12048m -classpath server/build/libs/liszt-ws.jar net.consensys.liszt.server.Start 0 1 4567

To have the UI run:

UI

    yarn install
    yarn run serve

You should be able to go to http://localhost:8080/ and start doing transfers

Architecture:

Screenshot 2019-07-25 at 13 16 49

liszt's People

Contributors

bkolad avatar nkeywal avatar vanessabridge avatar

Stargazers

Saksham Thapa avatar 0xHolly avatar  avatar fiatfalls avatar Aegon avatar Sarang Parikh avatar Luozhu avatar Resende avatar shiki avatar Alcides Morales Guedes avatar Guo avatar Gokul Alex avatar DHRUV avatar rtee+ avatar  avatar Cheng Wang avatar  avatar Kai avatar Will Pankiewicz avatar Dean Eigenmann avatar Georgios Konstantopoulos avatar HAOYUatHZ avatar

Watchers

James Cloos avatar  avatar

liszt's Issues

merkle proof implementation

Currently we calculate only root hash in MerkleTree class, extend the implementation to support merkle proofs.

zkp friendly hash function

In POC1 we use SHA-256 as hash function, this is not suitable for zkp proofs. Find and implement zkp friendly hash function.

blockchain manager

Implement mock blockchain manager to simulate interaction with blockchain, bonus points for using ganache and implementing smart contract.

Additional checks for X transfers

Currently lockDone in smart contract contains only timeouts, this should be extended. The lockDone should contain timeout and amount which is locked. Then update to transferDone should check corresponding locked amount. Probably this doesn't need to be in the Smart contract and can be checked in the proof in the future.

account manager

Implement in memory account manager which has to:

  • keep track of the account balance
  • validate transfer

Incorrect nonce update

Liszt updates nonce by 1 for every transaction, the correct way is to take the nonce send by the user (and check if it is bigger than the previous one)

implement controller

Controller will connect all high level components and will ensure for the correct workflo.w

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.