Custom domains · Cloudflare Pages docs

Oneseco Media GITHUB
Add a custom domain to a branch · Cloudflare Pages docs
Part of the Cloudflare "How To" Series
Agent (Automation Action) | Taskade Help Center
Ask Agent Help Docs
492230567
H f xc j lbykjue7e k ucbhjl
PatrickAlphaC/dungeons-and-dragons-nft: #chainlink #nft
updated VRF script and removed build
14efa26
·
History
26 Commits
contracts
updated for vrf changes
metadata
updated for vrf changes
migrations
updated for vrf changes
scripts
updated VRF script and removed build
test
updated for vrf changes
.env
updated for .env file
.env.example
updated for .env file
.gitignore
updated VRF script and removed build
LICENSE
Initial commit
README.md
swapped to yarn
package.json
updated truffle wallet
truffle-config.js
updated for vrf changes
Repository files navigation
README
MIT license
Chainlink Random Character Creation
This repo is a starting point for creating:
NFTs built with verifiable RNG using the Chainlink VRF
Create dynamic NFTs that change based on real world data. By using decentralized oracles to get data.
Adding your randomized NFTs to the OpenSea Marketplace
Skip down to deploy To Opensea - to see how to add a tokenURI
We will easily create our own NFT on the Rinkeby Chain. We can edit the name of the character in the generate-character.js script.
This will create a character with 6 attributes from 0 - 99:
uint256 strength;
uint256 dexterity;
uint256 constitution;
uint256 intelligence;
uint256 wisdom;
uint256 charisma;
And then:
uint256 experience;
string name;
Quickstart
Right now this repo only works with rinkeby. Run the following.
Setup Environment Variables
You'll need a MNEMONIC and a rinkeby RINKEBY_RPC_URL environment variable. Your MNEMONIC is your seed phrase of your wallet. You can find an RINKEBY_RPC_URL from node provider services like Infura
Then, you can create a .env file with the following.
MNEMONIC='cat dog frog....'
RINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf'
Or, set them in a bash_profile file or export them directly into your terminal. You can learn more about environment variables here.
To run them directly in your terminal, run:
export MNEMONIC='cat dog frog....'
export RINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf'
Then you can get started with:
Clone The Repo and migrate
git clone https://github.com/PatrickAlphaC/dungeons-and-dragons-nft
cd dungeons-and-dragons-nft
yarn
truffle migrate --reset --network rinkeby
This will deploy your D&D NFT!
Generate a character
You can now try it out:
truffle exec scripts/fund-contract.js --network rinkeby
truffle exec scripts/generate-character.js --network rinkeby
truffle exec scripts/get-character.js --network rinkeby
This will create a new character with random stats! Depending how often you deploy, you can pick which character by changing the dnd.getCharacterOverView(1) command in get-character.js to swap the 0 out with whatever tokenId of the character you like.
This will give you the overview of your NFT. You'll see BN since the call returns big numbers, you can cast them to ints to see what they are.... Or you could go one step farther
See it on etherscan or oneclickdapp
You can get an Etherscan API key for free and interact with the NFTs on chain. Then set ETHERSCAN_API_KEY as an environment variable.
yarn add truffle-plugin-verify
truffle run verify DungeonsAndDragonsCharacter --network rinkeby --license MIT
This will verify and publish your contract, and you can go to the Read Contract section of etherscan that it gives you.
Otherwise, you can use oneclickdapp and just add the contract address and ABI. You can find the ABI in the build/contracts folder. Just remember it's not the whole file that is the ABI, just the section that says ABI.
Deploy to Opensea
Once we have our NFTs created, we need to give them a tokenURI. TokenURIs are the standard for showing the data of NFTs to the world. This makes it easier to store things like images since we don't have to waste the gas of adding them on-chain.
The TokenURI represents a URL or other unique identifier, and it is an .json file with a few parameters.
{
"name": "Name for it ",
"description": "Anything you want",
"image": "https://ipfs.io/ipfs/HASH_HERE?file.png",
"attributes": [...]
}
We are going to be storing these images and meta data in IPFS. You'll need both:
IPFS
IPFS companion
Pinata
IPFS is a peer to peer network for storing files. It's free and open sourced, and we can use it to host our tokenURI. The IPFS companion let's us view IPFS data nativly in our browsers like Brave or Chrome. And Pinata allows us to keep our IPFS files up even when our node is down (don't worry about that for now)
Once our IPFS node is up, we can start adding files to it. We first want to upload the image of our NFT. What does this D&D character look like? Add it to your IPFS node and then "Pin" it. Once pinned, you can get the CID of the pinned file, and make sure it stays pinned by pinning it on your Pinata account. Don't worry, it's free! This will just help keep the data up even when our IPFS node is down.
Once we have the image pinned and up, we can get the link for that image. It'll look a little something like this:
h
Reddit for Developers
New Pull Request Create Post
WordPress Playground
My items · Dope Prompts Social Club Newsletter
(17) linkedin newsletter strategy - YouTube
The Best LinkedIn Growth Strategy in 2025
About self-hosted runners - GitHub Docs
Welcome to a Business Profile on Google - Google Business Profile Help
Taskade — AI-Powered Productivity, Your Second Brain.
(26) Oneseco Media: Company Page Admin | LinkedIn
Cybersoulja/terminal-helper: An intelligent terminal assistant to help with development tasks.
Board - Oneseco Media Substack Publication - Jira
link
Cybersoulja/nextjs-with-supabase
MDN Web Docs
Tue, Dec 24
Taskade — AI-Powered Productivity, Your Second Brain.
Untitled
Form Add Task, Create Project
(8) Taskade - YouTube
Adding the daily.dev DevCard to your GitHub profile
Learn HTML by Building a Cat Photo App: Step 2 | freeCodeCamp.org
Step 2
The h1 through h6 heading elements are used to signify the importance of content below them. The lower the number, the higher the importance, so h2 elements have less importance than h1 elements.
Example Code
<h1>most important heading element</h1>
<h2>second most important heading element</h2>
<h3>third most important heading element</h3>
<h4>fourth most important heading element</h4>
<h5>fifth most important heading element</h5>
<h6>least important heading element</h6>
Only use one h1 element per page and place lower importance headings below higher importance headings.
Below the h1 element, add an h2 element with this text:
Cat Photos
Cybersoulja/canva-apps-sdk-starter-kit
Portals
Settings · Ruleset · ProjectIDX
Canva Connect API | Canva Developers | Postman API Network