DEV1: DECA NFTs Giveaway Solidity SmartContract
Go to file
p1r0 01621c7502 Merge pull request 'develop' (#1) from DECA/DECANFT-SC:develop into develop
Reviewed-on: p1r0/DECANFT-SC#1
2023-11-30 06:53:58 +00:00
.github/workflows chore: forge init 2023-10-24 22:03:34 +00:00
lib Updating ERC721 and latest Solidity and OZ versions 2023-11-21 20:29:48 +00:00
script Adding first script to deploy and mint an NFT 2023-11-30 06:52:36 +00:00
src Adding base airdrop and auction smart contract 2023-11-21 22:45:04 +00:00
test Update some tests 2023-11-30 06:50:45 +00:00
.gitignore chore: forge init 2023-10-24 22:03:34 +00:00
.gitmodules forge install: openzeppelin-contracts 2023-10-24 22:21:00 +00:00
README.md Updating README 2023-11-21 20:28:40 +00:00
foundry.toml Updating ERC721 and latest Solidity and OZ versions 2023-11-21 20:29:48 +00:00

README.md

Proposal Type: Projecto

  • ID: DEV1
  • Project: DECA NFTs Givaway
  • Bounty: -
  • Developers: Itzel, p1r0
  • Authors: p1r0
  • Reviewers: Itzel
  • Voting Starts: -
  • Voting Deadline: -
  • Tasks Deadline: 2013-11-02

Abstract

A NFT giveaway and non-profit auction DAPP by using the latest web3 trending technologies with the goal to develop a workflow for future projects, use cases for the DECA Protocol, incentivize community participation, and a proof-of-concept airdrop, giveaway, and auction models.

Specification

Why

Since we are changing the tools for DAPPs development to YEW, WASM, ETHERS rs and Foundry based frameworks, we will develop the following project that has a simple starting point and low complexity. Second, we intend to improve our web3 research, development skills, test the TEAM's capabilities for the DECA Protocol development. The third is to do a NFTs giveaway to the biggest or longest-time supporters of the DECA Project, which might have an interesting future use case. Last but not least, we will do a non-profit auction of the rarest NFTs so that the collected budget will be donated as a kick-start DECA DAO Vault funding.

What (ToDo)

NFTs giveaway to the biggest or longest-time supporters of the DECA Project: For this, you can develop a smart contract that manages the distribution of NFTs to specific Ethereum addresses. You can use the Ethers rs library to interact with this contract from your DApp, allowing you to send NFTs to the addresses of your project's supporters. The dev.to provides an example of a smart contract for an auction, which you could adapt for your NFT giveaway.

Non-profit auction of the rarest NFTs to collect funds for DECA DAO Vault: For this goal, you can build on the previous NFT giveaway idea but add an auction functionality to the smart contract. The auction can be set up such that the highest bidder wins the NFT, and the funds collected from the auction can be sent directly to the DECA DAO Vault. The code in dev.to can be a good starting point for building this functionality. Create/Recover 68 NFTs of the DECA Logo with specific properties as Background Color, Logo Color and a Complement.

URI Data structure:

{
  "name": "DCO2 #1",
  "description": "Puerto Morelos Reef National Park, Quintana Roo. 9,066 ha. Contains up to 669 species of marine fauna.",
  "image": "http://ipfs.io/ipfs/QmUiUL3CoW8mmkAYwdhgd5Kg7PyAe7NP7GdGmw9YTfzuSh",
  "attributes": [
    {
      "trait_type": "Background Color",
      "value": "Orange"
    },
    {
      "trait_type": "Logo Color",
      "value": "Teal"
    },
    {
      "trait_type": "Complement",
      "value": "Cloud"
    }
  ]
}

Properties.

  • Name:
  • Description:
  • Image:
  • Attributes:
    • Background Color:
    • Logo Color:
    • Complement:

How

Proyect ToDo

Note Everithing must include Research, Development and Documentation

  • Setup 2 Projects for WEB3 Frontend(YEW+RUST+Helia+EthersRS) And Backend(Foundry)

Web3 FrontEnd

  • Integrate DCO2_IPFS Version with ipfs HELIA (JUST FOR TESTING use the DEPERCATED ASSETS and remove Descriptions)
  • Convert javascript code to rust and convert uris into structures: Use AI and the following tutorial WASM+RUST !UPDATED we use the following one
  • Create a Rust Code extract IPFS Hashes and update Json Files related to the name (check if its possible to do as with WASM+Rust or with helia or just cargo build.
  • Research and create a YEW project and Bootstrap (conversion of the project to YEW APP) Follow this YEW Tutorial
  • Research and Create a Etheres rs wasm package or use yew web3 connector.
  • Update Gateway and Pinning Methods also integrate with fleek

Web3 BackEnd

  • Understanding Foundry
  • Smart Contract Creating ERC721
    • Properties and registry of CCTokens (Research)
    • Basic ERC721 Test Script
  • Auction Contract ( Owner of ERC721 )
    • Random GiveAway Function
    • Giveaway Function (testing)
    • Auction NFTs Open/Close
    • Mint Function
    • Payto DAO (SmartWallet)

Market Making (Blog/Forum/SocialNetworks)

  • Development Articles
  • Pumpamentals ( Forum Debate )
  • Open Code and Internal Documentation

Rationale

Three years ago NSI intend to do an NFTs Gateway but we had multiple tasks and priorities so that we only left an unfinished project, now we intend to introduce SBTs to the DECA Protocol as specified in the Uses cases document The goal is to use them as Certificates that can record data such as the CCToken offsets and others. Since we are ready to start with the Development of the DECA Protocol we require a project that will give us some experience in the Tools, Technologies and methods that will be implemented with further experience after this project achievements.

References

  1. David E. Perez Negron R., "DECA Protocol: Summary and Use Cases ",https://docs.google.com/presentation/d/1H4V5X0X-9jnulwmmQBKk7PiStqKoPh_t_h7F0R3kLw0/edit#slide=id.p 2023-08-03
  2. Vitalik Buterin, Soulbound, https://vitalik.ca/general/2022/01/26/soulbound.html Buterin, 2022-01-26.