Skip to content

freddie71010/solidity-scripts

Repository files navigation

solidity-scripts

A collection of miscellaneous solidity projects.

Reminder:

Be sure to check out the branches of this repo (besides the 'main' branch) for additional WIP projects.

Projects:

Mint a Random NFT from a Collection! (Folder: nft-ipfs)

An ERC721 NFT project written in solidity and deployed using brownie (python). A user can mint a random Doggie NFT (where the randomness factor is provided by Chainlink's VRF) from a newly created Doggie NFT Collection consisting of several unique NFTs. The minting rarity of each Doggie is based on a Chance Array that the owner of the deployed smart contract can modify if they so desired using the setChanceArray() function of the contract.

Upgradable Smart Contracts (Folder: upgrade-contracts)

An implementation of upgrading smart contracts using the transparent proxy pattern as seen by OpenZeppelin. These smart contracts also implement a ProxyAdmin contract as the main admin control source for all future proxy contracts. The Deploy script upgrades an implementation contract two times (for a total of 3 unique Box contracts).

ERC-20 Token Staking DApp (Folder: staking-ui)

DApp Features:

  • Stake $RT tokens into contract
    • Once staked, these $RT tokens will automatically earn interest over time
  • Withdraw $RT Tokens back into wallet with interest
  • Connect to dapp using Moralis's Connect Wallet feature

Smart Contract Lottery (Folder: smartcontract-lottery)

  1. Users can enter a lottery with ETH by paying a $50 USD equivalent fee.
  2. An admin will choose when the lottery is over.
  3. The lottery will select a random winner from those who entered and send them all the ETH! This random winner is determined by calling a ChainLink node to determine true randomness.