Code Monkey home page Code Monkey logo

efd's People

Contributors

stephancill avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

lbowles

efd's Issues

Batch-confirm accepted requests

Write a contract method or separate contract which will confirm multiple accepted requests at once in order to help users save on gas cost of confirming one request at a time

Route to confirm request

Currently, the user that receives the invite has to confirm it and therefore pay the gas for publishing the signature to the blockchain. Create a /confirm/:encodedRequest route which will accept a base64 encoded object similar to the /invite route with the required parameters to publish the signature to the blockchain. The card should show who the invitation is from, who it was accepted by, and a confirm button, which will prompt the user to send the transaction to confirm the invite.

Mainnet vs L2 deployment

Background

Mainnet and L2 deployments both come with their respective pros and cons. EFD aims to be accessible and cost-effective. Accessibility refers to the ability of clients to easily call contract methods. Mainnet is the most accessible because that is where users currently start off. L2 is less accessible because it requires a user to bridge funds over to start using contracts. Cost-effectiveness refers to the price of interacting with the deployed contracts. e.g. confirming a request. L2s aim to decrease the cost of transactions, which are the most expensive on mainnet.

Idea

Deploy the canonical EFD contract on an optimistic rollup such as Optimism or Arbitrum. Choose the one that gets the most support from wallets. Deploy contracts that can read from those contracts on other chains and mainnet. Optimism allows communication between L1 and L2, which means that we just need to build a contract that reads the Optimistic contract. In the future, similar functionality should be deployable on any chain, even other L2s. L1-L2 messaging requires writing transactions on L1, which will not be viable. A REST API will have to be written and hosted to make it accessible via the web.

Pros

  • Confirmations on L2 should be cheaper

Cons

  • Contract interaction becomes more complex
  • Support won't be great at the start
  • Web API needs to be developed

Add salt to hash arguments

Add the contract's address to the contract hash arguments to prevent signatures from being reused on other contracts where the same input data is used.

Batch-remove friends

Write a contract method or separate contract which will remove multiple friends from the user's account at once in order to help users save on gas cost of removing one friend at a time.

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.