NFT which pays royalties to its creator each time it is sold.

Overview

Chialisp NFT with Perpetual Creator Royalties

This is a chialisp NFT in which the creator/minter defines a puzzle hash which will capture a fixed percentage of the value each time the singleton is traded.

There's also a video giving an overview of the functionality and a look at the chialisp, here (Note the video quality is better if you download it... for some reason streaming it lowers the resolution making it unreadable)

Coins locked with the NFT hold the usual key/value data as well as some simple state:

  • For sale/Not for sale
  • Price
  • Owner Puzzlehash
  • Owner Pubkey
  • Royalty percentage (immutable)
  • Creator puzzle hash (immutable)

If the puzzle is flagged as for sale, anyone can us the p2_singleton to buy the nft for the price set by the owner. When the transaction is made, the puzzle outputs conditions which pay the royalty percentage to the creator, the remainder to the owner, and recreates the singleton coin with the details of the new owner.

There is basic wallet functionality to identify coins marked as for-sale on the block chain, and keeping track of owned coins.

Installation

To set up testnet10, best to follow the instructions for the CAT tutorial at chialisp.com. From there you can just use the venv you use for the protocol_and_cats_rebased branch.

git clone https://github.com/geoffwalmsley/CreatorNFT.git
pip install --editable .

Once that's done, make sure you're in the CreatorNFT directory, and you can start the DB and sync the current NFTs with:

```
nft init
```

Usage

# Launch a new NFT
nft launch -d <path-to-data> -r 10 -p 1200 -a 101

# List owned NFTs
nft list

# List for-sale NFTS
nft list-for-sale

# View a specific NFT
nft view -n <NFT-ID>

# Update an owned nft
nft update -n <NFT-ID> -p price --for-sale

# Buy NFT
nft buy -n <NFT-ID>

Testing

For testing make sure to remove references to master_sk_to_wallet_sk_unhardened as its onnly available in the protovol_and_cats_branch. Tests need main branch to run.

pytest tests/

License

Copyright 2021 Geoff Walmsley

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Owner
Geoff Walmsley
Geoff Walmsley
A Discord Self bot written in python

WitheredBot A Discord Self bot written in python Requirement Python = 3.9 How to Configure git clone https://github.com/a-a-a-aa/WitheredBot.git cd W

......... 0 Jan 05, 2023
SongBot2.0 With Python

SongBot2.0 Host ๐Ÿ‘จโ€๐Ÿ’ป Heroku ๐Ÿš€ Manditary Vars BOT_TOKEN : Get It from @Botfather Special Feature Downloads Songs fastly and less errors as well as 0

Mr.Tanaji 5 Nov 19, 2021
A Discord token grabber written in Python3, with awesome obfuscation and anti-debug protection.

โ˜ฃ๏ธ Plague โ˜ฃ๏ธ Plague is a Discord token grabber written in Python3, obfuscated with Kramer, protected from traffic analysers with Scarecrow and using t

Billy 125 Dec 20, 2022
an API to check if a url or IP address is safe or phishing

an API to check if a url or IP address is safe or phishing. Using a ML model. The API created using FastAPI.

Adel Dahani 1 Feb 16, 2022
A Telegram bot to upload files from Telegram or Direct links to Google Drive.

Google Drive Uploader Telegram Bot A Telegram bot to upload files from Telegram or Direct links to Google Drive. Features Telegram files support. Dire

IDNCoderX 21 Dec 05, 2022
A Discord Self-Bot in Python

๐Ÿ‘จโ€๐Ÿ’ป Discord Self Bot ๐Ÿ‘จโ€๐Ÿ’ป A Discord Self-Bot in Python by natrix Installation Run: selfbot.bat Python: version : 3.8 Modules

natrix_dev 3 Oct 02, 2022
Contrastive Language-Audio Pretraining

CLAP Contrastive Language-Audio Pretraining In due time this repo will be full of lovely things, I hope. Feel free to check out the Issues if you're i

Charles Foster 83 Dec 01, 2022
Ubuntu env build; Nginx build; DB build;

Deploy ไป‹็ป Deploy related scripts bitnami Dependencies Ubuntu openssl envsubst docker v18.06.3 docker-compose init base env upload https://gitlab-runn

Colin(liuji) 10 Dec 01, 2021
CoWIN Vaccination slot booking telegram bot with auto captcha resolver & alerting feature.Now, never miss a slot.

COWIN VACCINATION SLOT AUTO BOOKING (Bot with captcha solving & alerting capabilities. Never miss the vaccine slot.) June-10-2021/ 0030 hrs: 23 succes

Shashank Bafna 17 Nov 12, 2022
python3.5+ hubspot client based on hapipy, but modified to use the newer endpoints and non-legacy python

A python wrapper around HubSpot's APIs, for python 3.5+. Built initially around hapipy, but heavily modified. Check out the documentation here! (thank

Jacobi Petrucciani 140 Dec 21, 2022
An advanced Filter Bot with nearly unlimitted filters

Telegram MTProto API Framework for Python Documentation โ€ข Releases โ€ข Community Pyrogram from pyrogram import Client, filters app = Client("my_account

Pyrogram 3.2k Jan 05, 2023
Automatically commits and pushes changes from a specified directory to remote repository

autopush a simple python program that checks a directory for updates and automatically commits any updated files (and optionally pushes them) installa

carreb 1 Jan 16, 2022
rewise is an unofficial wrapper for google search's auto-complete feature

rewise is an unofficial wrapper for google search's auto-complete feature

Somdev Sangwan 71 Jul 19, 2022
Fastest Tiktok Username checker on site.

Tiktok Username Checker Fastest Tiktok Username checker on site

sql 3 Jun 19, 2021
Python Dialogflow CX Scripting API (SCRAPI)

Python Dialogflow CX Scripting API (SCRAPI) A high level scripting API for bot builders, developers, and maintainers. Table of Contents Introduction W

Google Cloud Platform 39 Dec 09, 2022
A python bot that will allow you to have maximum luck during Veve drops.

VeveBot You can follow me here Github | Twitter Features: - Click on the purchase at the time of the drop. - Be able to choose to do more than one tes

Rodz 1 Dec 04, 2021
Notflix - Notion / Netflix and IMDb to organise your movie dates. Happy Valentine <3 from 0x1za

Welcome to notflix ๐Ÿ‘‹ This is a project to help organise shows to watch with my

Mwiza Ed' Simbeye 3 Feb 15, 2022
Campsite Reservation Cancellation Finder (Yellowstone National Park)

yellowstone-camping yellowstone-camping is a Campsite Reservation Cancellation Finder for Yellowstone National Park. This simple Python application wi

Justin Flannery 7 Aug 05, 2022
Simple VK API wrapper for Python

VK Admier: documentation VK Admier is simple VK API wrapper for community bot development. Authorization You should create bot object from Client clas

Egor Light 2 Nov 10, 2022
A minimalistic library designed to provide native access to YNAB data from Python

pYNAB A minimalistic library designed to provide native access to YNAB data from Python. Install The simplest way is to install the latest version fro

Ivan Smirnov 92 Apr 06, 2022