Skip to content
/ renoun Public
forked from Jon-Becker/renoun

On-chain, non-transferrable badges for rewarding GitHub contributions.

License

Notifications You must be signed in to change notification settings

Drcfter/renoun

 
 

Repository files navigation

renoun

June 1, 2022    |    By Jonathan Becker

preview

Renoun is a project inspired by the work of @achalvs which allows for automatic minting of non-transferrable tokens on Ethereum based chains.

I've deployed the contracts on Optimism for free use, and for demonstration purposes. Feel free to open a Pull Request to this repository to test out the minting!

Check out tokenURI() for _tokenIds 4 and above (the renderer was broken before then).

Installation

  • First, clone this repository using

    git clone https://github.com/Jon-Becker/renoun.git .
    
  • Deploy both the BadgeRenderer.sol and renoun.sol contracts onto your chain of choice. The renderer contract is very large, 10kb+, so I recommend deploying on a L2.

    • When deploying renoun.sol, you'll need to specify the deployed renderer address
  • On your repository of choice, set up 3 GitHub Secrets

    • PRIVATE_KEY - which stores the private key of the deploying address
    • RPC_URL - which stores the full RPC url of your web3 provider
    • DEPLOYMENT_ADDRESS - which stores the deployment address of renoun.sol
  • Copy src/scripts and src/json to your repository, and create a GitHub action with the script from mint_token.yml.

  • Edit the chain ID on line 60 of main.py

  • Profit.

Pull Request Standard

In order for the GitHub action to work properly, the Pull Request must be closed and merged. It must also contain a 20 byte Ethereum address, which main.py will extract from the pull request and mint the token to.

For a full demo, you can check out Pull Request #3

Credits

About

On-chain, non-transferrable badges for rewarding GitHub contributions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 68.2%
  • HTML 25.6%
  • Python 6.2%