Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jon-becker/renoun

On-chain, non-transferrable badges for rewarding GitHub contributions.
https://github.com/jon-becker/renoun

eth ethereum github-actions nft nfts smart-contract soulbound-tokens

Last synced: 18 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# renoun

##### June 1, 2022    |    By [Jonathan Becker](https://jbecker.dev)



![preview](https://raw.githubusercontent.com/Jon-Becker/renoun/main/preview.png?token=GHSAT0AAAAAABPTFLJBB4HKTSG43PCZU5FCYUW32RA)

Renoun is a project inspired by the work of [@achalvs](https://twitter.com/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!

- BadgeRenderer -> [0x52a059998ecba324402fda84884d89af27aca075](https://optimistic.etherscan.io/address/0x52a059998ecba324402fda84884d89af27aca075)
- Renoun -> [0x48933e1235529732eb8957ab64f4093d66a7e841](https://optimistic.etherscan.io/address/0x48933e1235529732eb8957ab64f4093d66a7e841)

Check out [`tokenURI()`](https://optimistic.etherscan.io/address/0x48933e1235529732eb8957ab64f4093d66a7e841#readContract) 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](https://docs.github.com/en/actions/security-guides/encrypted-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](https://github.com/Jon-Becker/renoun/pull/3)

### Credits
- Achal ( SVG Design ) https://twitter.com/achalvs