Giter Club home page Giter Club logo

proof-of-rank's Introduction

proof-of-rank's People

Contributors

lastmjs avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

proof-of-rank's Issues

UI

  • Make sure that the token appears correctly in MetaMask
  • Add viewing area for all PRANK tokens

Development environment

  • I could try to do it all in Remix...

  • I need to choose a test network

  • Find the Chainlink smart contracts for the test network that I'm using

  • I need the LINK interface (I think it's easily found on GitHub)

  • Ganache for local Ethereum environment (or should I just use Geth?) I think Ganache would be good because it has in in-memory Ethereum node I can spin up...I think

  • I would like to just use the solidity js compiler

  • Write all of the deployment code myself, I think I can just use json-rpc to do this?

  • If I don't want to do all of the compilation and deployment manually, I can use Truffle...I would really like to understand how to do it manually though, and I don't think it will be that complicated

  • I think I should just bite the bullet and use Open Zeppelin's contracts to do most of the NFT functionality...all I will need to do is the custom callback for erc677, and maybe a couple other things

  • I am not going to get independent audits for this project, but look into all of the free automated tooling that can be used to check for security issues. Also, see if there are some standard erc721 testing suites

  • Should I create automated tests for my custom functionality? I think it would be good...it would be interesting to experiment with property-based testing for smart contracts, it actually should be relatively simple I imagine for most of the standards, and I can reuse the tests over and over

  • no formal verification

  • Lots of manual testing locally and on the test network

  • Test in production with myself

  • I'm considering using Truffle and Ganache and stuff...

  • Bare-bones environment

    • Solidity compiler
    • Ethers.js
    • Geth in development mode
    • Remix pointing to Geth for interacting with contract

Launch

  • Extensive property-based test suite
    • All helper functions
    • onTransferReceived or whatever function
  • About section
  • Open Source section
  • Credits to the Brotherhood of Link Marines
  • Flip card thing
  • Sanctions blocks
  • Terms of use for the user before they purchase a proof of rank
  • Allow purchasing of the proof of rank
  • Close-up of token...when you own the token, you should be able to click on it and get a close up with more information. Make this easily shareable on twitter or elsewhere
    • Turn the token's color to blue...keep the grey highlight...potentially turn the text color from something white to something goldish?
    • Make the selected hexagon blue, with bold text
    • Make a small white line around the outer hex...maybe somewhere between 1-5px in width, and 5-10px inset...
    • Consider using an inner border shadow versus an outer border shadow depending on if you own the token or not
  • Consider making a proof of rank logo
  • Check for window.ethereum, and help the user install metamask or something else if they do not already have it installed
  • test on Chrome, Brave, and Firefox, all mobile browsers if possible...we just want it to look nice on those browsers. It should point the user to where to install MetaMask...should we also allow someone to simply enter an address and see what other people own? Not sure on that...makes it feel more scarce to not be able to do that
  • Get all of the hexagon stuff to work on firefox as well
    • The front face on FireFox isn't working
    • The text does not look vertically centered on FireFox
    • hover flip seems even more finnicky on firefox
  • get the hexagon text to be perfectly centered vertically on FireFox
  • When clicking on prove rank or view rank, have the hexagon expand in place, with the edges slowly moving out, no jank or anything, just buttery smooth
  • Make sure that PRANKs will be compatible with Open Sea and other popular NFT marketplaces
  • Provide very nice error handling to the user. Try to present them with actionable reasons for failures, and ways to reach out to me if things aren't working well

Interesting NFT idea

What if you created an NFT where the creator gets a percentage of all future transactions on it? That would be neat indeed. Or maybe any owner gets a percentage? Then it would dilute as time goes on

Ideas

  • Register linkmarinerank.com, linkproofofrank.com, proofofrank.link
  • One NFT contract for each rank
  • Name example: LINK Marine Rank - Private
  • Symbol example: LMR-PRIVATE
  • Price: 1 LINK Use LINK's transferAndCall to do this
  • Only allow a purchase if the calling address has enough LINK
  • Should we only enforce the rank on purchase, or for every transfer? For every transfer would be pretty restrictive, but would make the NFTs more elite. But, that could get rid of secondary markets and possibly be difficult for LINK marines to deal with. What if they want to send their proof of rank to another wallet that has no LINK? I'll have to think about this one, maybe ask around a bit
  • I really like how Proof of Rank sounds...can we fit this into the name somehow?

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.