All Projects → buildship-dev → nft-contracts

buildship-dev / nft-contracts

Licence: GPL-3.0 License
Open-source NFT contracts used by buildship.dev

Programming Languages

javascript
184084 projects - #8 most used programming language
solidity
1140 projects

Projects that are alternatives of or similar to nft-contracts

niftygate
Drop-in Access Control via NFT Ownership
Stars: ✭ 61 (+1.67%)
Mutual labels:  nft, erc721, erc1155
nft-swap-sdk
Ethereum's missing p2p NFT and token swap library for web3 developers. Written in TypeScript. Powered by 0x.
Stars: ✭ 200 (+233.33%)
Mutual labels:  nft, erc721, erc1155
ethereum-dex
Decentralized exchange implementation for the 0xcert protocol on the Ethereum blockchain.
Stars: ✭ 18 (-70%)
Mutual labels:  smart-contracts, nft, erc721
Artion-Server
Artion API Server
Stars: ✭ 26 (-56.67%)
Mutual labels:  nft, erc721, erc1155
lootloose.com
LootLoose lets you unbundle your Loot Bags into individual item NFTs or rebundle items into their original Loot Bags.
Stars: ✭ 33 (-45%)
Mutual labels:  nft, erc721, erc1155
Simple-Game-ERC-721-Token-Template
🔮 Very Simple ERC-721 Smart Contract Template to create your own ERC-721 Tokens on the Ethereum Blockchain, with many customizable Options 🔮
Stars: ✭ 83 (+38.33%)
Mutual labels:  smart-contracts, nft, erc721
erc721
The reference implementation of the ERC-721 non-fungible token standard.
Stars: ✭ 989 (+1548.33%)
Mutual labels:  smart-contracts, erc721
nba-smart-contracts
Smart contracts and transactions for Topshot, the official NBA digital collectibles game on the Flow Blockchain
Stars: ✭ 316 (+426.67%)
Mutual labels:  smart-contracts, nft
ethereum-kit-ios
Comprehensive EVM SDK (ex: Ethereum, Binance Smart Chain) for iOS, implemented on Swift. Create wallets, watch wallets (read-only), sync transactions, filter transactions by type (erc20, bep20, swap transactions etc.), swap using native DEX protocols, easily extendable to work with custom smart contracts, and full support for EIP1159.
Stars: ✭ 148 (+146.67%)
Mutual labels:  erc721, erc1155
Awesome NFTs
A curated collection about NFTs - by bt3gl
Stars: ✭ 42 (-30%)
Mutual labels:  nft, erc721
bcdhub
Better Call Dev backend
Stars: ✭ 30 (-50%)
Mutual labels:  smart-contracts, nft
ape
The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
Stars: ✭ 339 (+465%)
Mutual labels:  smart-contracts, nft
nft-tutorial
Tezos FA2 NFT CLI Tool And Tutorial
Stars: ✭ 81 (+35%)
Mutual labels:  smart-contracts, nft
tinlake
Smart contracts for Tinlake, the on-chain securitization protocol for real-world assets
Stars: ✭ 85 (+41.67%)
Mutual labels:  smart-contracts, nft
opensea-arb-nft20
🧸 💸 Detects arbitrage opportunities for ERC-721 tokens between OpenSea and NFT20.
Stars: ✭ 42 (-30%)
Mutual labels:  nft, erc721
rarity-analyser
Cool Rarity is an open source package for easy rarity score calculation with ERC721 NFT metadata collection. It was born in punkscape 01 rarity analyser hackathon.
Stars: ✭ 82 (+36.67%)
Mutual labels:  nft, erc721
nftfy-v1-core
A decentralized protocol for NFT fractionalization
Stars: ✭ 62 (+3.33%)
Mutual labels:  smart-contracts, erc721
Nix
Nix - NFT Decentralised Exchange Smart Contracts
Stars: ✭ 40 (-33.33%)
Mutual labels:  nft, erc721
Wallet3
A secure mobile wallet for web3
Stars: ✭ 13 (-78.33%)
Mutual labels:  erc721, erc1155
fingernft
FingerNFT是一款开源NFT市场,兼容Opensea、Rarible。
Stars: ✭ 1,827 (+2945%)
Mutual labels:  erc721, erc1155

NFT Contracts by buildship.dev

This is a collection of smart-contracts that help you to launch your own 10k-avatar collection like CryptoPunks, Bored Ape Yacht Club or Pudgy Penguins.

Made by https://buildship.dev. If you can't code, use our simple web-app to deploy!

USE AT YOUR OWN RISK. Most of the features are in production already, however this doesn't guarantee any security. Unreleased and speculative code is located in contracts/experiments directory.

Features include:

ERC721 Sale (AvatarNFT.sol)

  • Limited supply
  • Mint N tokens in one transaction
  • Generative art
  • Lazy Mint – buyes pays for mint
  • Manually start/stop sale
  • Reserve X tokens for team or community
  • Random token index shift on sale start

ERC1155 Sale (ERC1155Sale.sol)

  • Limited supply for each tokenId
  • Lazy Mint – buyer pays for mint
  • Admin can add new tokenId
  • On-chain metadata storage
  • Manual start/stop sale for each tokenId

Mint Pass

  • ERC1155 "Ticket" for limited NFT sale access
  • Not ready to use as plug-n-play, check out the example (AmeegosMintPass) to integrate it into your project
  • Has two modes: mintWithMintPass from NFT Sale contract, or redeem() from MintPass contract. Choose appropriate one for your project.

Tier-based Pricing (TierNFT.sol)

  • Set different prices for different tokenId

Mint with Referral info (ReferralNFT.sol)

  • Save referral and accrue his rewards at each mint

Experimental features

  • refund gas for minting
  • burn NFT to mint NFT
  • mint pass
  • on-chain metadata
  • 0% marketplace for your tokens (please help fix issue #8)

How to use:

Init

npm i
touch .mnemonic
nano .mnemonic # input deploy wallet

cp .env.local .env
nano .env # input your keys

Development

When you change something, run:

truffle compile

Then, in another tab and leave running:

npx ganache-cli --instamine eager

Finally, to test your code:

truffle migrate
truffle test

Deploy to production

By default, it deploys TemplateNFT. The deployment is specified in 2_deploy_nft.js.

Edit the file contracts/TemplateNFT.sol to use your metadata, and run:

truffle migrate --network rinkeby -f 2 --to 2

truffle run verify TemplateNFT --network rinkeby

Most probably, you want to transfer contract ownership from your deployment keys to your Metamask account. You can use this piece of code:

truffle console --network rinkeby

And then:

nft = await TemplateNFT.at("0xDeployedAddress")
nft.transferOwnership("0xyourMetamaskAccount")

Or simply:

truffle exec scripts/transfer.mjs TemplateNFT 0xYourMetamaskAccount --network rinkeby

(mind the argument order, be sure to have network last)

Upload for Frontend Deploy

Instead of deploying from your local machine, you can compile and send it for deployment from the Buildship web app.

truffle exec ./scripts/upload.mjs [contract name] --compile

It needs network selection to run, but it doesn't matter which you use. You can run with development network.

In the end, you get IPFS hash to the uploaded bytecode. Use in on https://gate-rinkeby.buildship.dev/deploy/QmExampleHash

Bonus

How to interact with contracts from deployed truffle?

truffle console --network rinkeby

Mainnet fork

We have a special test for AmeegosMintPass. It runs on testnet, but it's best to run on mainnet fork too.

Run ganache to fork from mainnet:

source .env
npx ganache-cli --instamine eager \
                --fork https://mainnet.infura.io/v3/$INFURA_KEY\
                --unlock 0x44244acacd0b008004f308216f791f2ebe4c4c50

0x4424 is an address of original AmeegosNFT owner.

Then, run test suite for mainnet fork. It will automatically detect we're on forked version, and will not deploy new contract, instead attach to the old one.

truffle test test/mintpass_mainnet_fork.js
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].