Giter Site home page Giter Site logo

eips's Introduction

Ergo Improvement Proposals

Ergo Improvement Proposals (EIPs) specify and/or describe standards for the Ergo Platform, including core protocol specifications, client APIs, dApp/contract standards, and other such things.

Please check out existing EIPs, such as EIP-1, to understand the general expectation of how EIPs are supposed to be formatted.

Number Title
EIP-0001 Application-Friendly Wallet API
EIP-0002 Ergo grant program
EIP-0003 Deterministic Wallet Standard
EIP-0004 Assets standard
EIP-0005 Contract Template
EIP-0006 Informal Smart Contract Protocol Specification Format
EIP-0017 Proxy Contracts
EIP-0019 Cold Wallet Protocol
EIP-0020 ErgoPay Protocol
EIP-0021 Genuine tokens verification
EIP-0022 Auction Contract
EIP-0024 Artwork Standard
EIP-0025 Payment Request URI
EIP-0027 Emission Retargeting Soft-Fork
EIP-0031 Babel Fees
EIP-0034 NFT Collection Standard
EIP-0039 Monotonic box creation height rule
EIP-0043 Reduced Transaction
EIP-0044 Arbitrary Data Signing Standard

eips's People

Contributors

anon-real avatar arobsn avatar aslesarenko avatar catena2w avatar darkdrag00nv2 avatar deadit avatar gagarin55 avatar glasgowm148 avatar krasaviceblasen avatar kushti avatar mrstahlfelge avatar nitram147 avatar robkorn avatar satsen avatar scalahub avatar vorujack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eips's Issues

eip-0028 ErgoAuth

I've encountered a couple roadblocks while developing for eip-28

Mobile issues

  • Ergoauth doesn't return to the authenticating website once the message is signed. (It does return on an Ergopay request)
  • No way to generate the required SigmaBoolean without running appkit. Shouldn't it just accept a normal address string? Why does it need to be converted to a SigmaBoolen first? I can't find a way to do this in ergo-lib-wasm-nodejs or fleetsdk, though I'd be happily proven wrong. I couldn't figure it out by going through the sigmastate source files which have the functions that appkit uses, but if someone would show me the correct function, I'll build a typescript version.

Inconsistencies

There should be a consistent signature string returned. It doesn't matter which is chosen, but a standard would be helpful so we don't need to filter for wallet type first.

For reference: mobile returns 20 random characters, then the provided message, then the address WITH https:// followed by 20 more random characters. Nautilus returns the provided message, a semi-colon, the source address WITHOUT https://, another semi-colon, followed by two strings of random characters separated by a semi-colon.

Ready to merge/implemented PRs

In the following I'm putting together a list of old PRs which are already implemented but not yet merged. Would be good if we can take a look and take actions to get them merged.

Ready to merge?

  • #8 - Implemented, 1 approval
  • #74 - Rolled back, approved
  • #79 - Implemented, approved

Waiting review

  • #11 - Implemented, waiting review
  • #12 - Implemented, waiting review
  • #27 - Implemented, not clear if requested changes are made
  • #29 - Implemented, would be good if we get this reviewed and merged
  • #53 - Implemented, waiting review

Media NFT Metadata standards

Hello,
I am working on moving an NFT project from Cardano to Ergo. And in doing so I have noticed a few problems with thE EIP-004 metadata standard.

These severely limit innovation and new NFT use cases, and should be rectified as soon as possible.

Specifically, the limit to one type of token in each NFT severely limits the ability to create dynamic and interactive NFTS. Also, limiting the tokens to only the 4 types listed in EIP-004 Makes it impossible to do a lot of things on Ergo.

As an example, I want to my NFT link to a HTML or JavaScript file on IPFS or ARweave which then gets rendered by the marketplace or NFT viewer in an iFrame right on the NFT, allowing the viewer to interact with the NFT right there. This works well on Cardano, as you can see in this link, which is an actual NFT rendered in a native Cardano NFT viewer. https://pool.pm/a3b37823ac5843e62c8f97d4b01e3cd600cda24215f9367f8147d38a.MagicApesTEST1

This is a very small, tip of the iceberg example of an NFT that currently can't be done on Ergo. Another example is the CardanoTrees or Aw0k3n Algorithms projects, which actually create the NFT directly on the blockchain using base64 with no external references whatsoever.

The other thing that needs to be corrected is that Ergo currently limits NFTs to only one media file reference. This creates a problem because a lot of NFTs use one item as the main media (for instance a song or onchain code) then need to also have an image linked in the NFT to show as a thumbnail. If you look at my above example, you will see in its metadata there contains both a "text/html" reference and an "image" reference. Limiting NFTs to one reference severely hinders the ability to think outside of the box and move the NFT space beyond the PFP only art that it currently is.

I want to propose adopting a NFT metadata standard that mirrors both Cardano and Ethereum. Cardano took the Ethereum EIP-721 standard and made minor adjustments to it then adopted it as CIP-25. This CIP even references OpenSeas standards.
I believe Ergo should take the same approach and use the CIP-25 and EIP-721 standards as a base then adapt them to fit Ergo's requirements.

The specific things I would like to see added to Ergo from CIP 25 are as follows:

-Unique policy ID's
-multiple reference allowance
-various reference type support
-Standard IPFS and ARweave reference structure (IPFS:// and AR://)
-policy lock times

Here is the full CIP-25 (Media NFT Metadata standard) as implemented: https://cips.cardano.org/cips/cip25/

I don't know how to create a pull request to propose an EIP myself, so I am putting this here hoping someone can help me move this idea forward.

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.