Skip to content

AztecWarlord/DevKingz

Repository files navigation

DevKingz

DevKingz is a project built using Foundry, a blazing fast, portable, and modular toolkit for Ethereum application development written in Rust. That leverages the power of the ChainlinkVRF to generate provable RNG when minting a DevKingz NFT.

Overview

This project leverages Foundry's powerful tools to streamline Ethereum smart contract development and testing. It includes:

  • Forge: A robust Ethereum testing framework.
  • Cast: A versatile tool for interacting with EVM smart contracts, sending transactions, and retrieving chain data.
  • Anvil: A local Ethereum node for development and testing.
  • Chisel: A fast and verbose Solidity REPL.

Project Structure

The project is organized as follows:

.
├── lib/                     # External libraries (e.g., Chainlink, OpenZeppelin)
├── script/                  # Deployment and interaction scripts
├── src/                     # Main Solidity contracts
├── test/                    # Unit and integration tests
├── cache/                   # Cached files for faster builds
├── foundry.toml             # Foundry configuration file
├── README.md                # Project documentation

Documentation

For detailed documentation on Foundry, visit the Foundry Book.

Getting Started

Prerequisites

Ensure you have the following installed:

  • Foundry
  • Node.js (for managing dependencies in lib/ if required)

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd DevKingz
  2. Install dependencies:

    forge install
  3. Build the project:

    forge build

Usage

Build

Compile the smart contracts:

forge build

Test

Run the test suite:

forge test

Format

Format your Solidity code:

forge fmt

Gas Snapshots

Generate gas usage snapshots:

forge snapshot

Anvil

Start a local Ethereum node:

anvil

Deploy

Deploy contracts using a script:

forge script script/DeployDevKingz.s.sol:DeployScript --rpc-url <your_rpc_url> --private-key <your_private_key>

Cast

Interact with contracts using Cast:

cast <subcommand>

Help

Get help for Foundry commands:

forge --help
anvil --help
cast --help

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Submit a pull request with a detailed description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments


Happy coding!

Michael Vargas Linkedin Michael Vargas Twitter

About

An NFTs project that uses Chainlink VRF to generate randomness to NFTs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published