Bespoke toolkit for Non-fungible token (NFT) technology πŸš€

Overview

Crates.io Docs

Bespoke toolkit for Non-fungible token (NFT) technology πŸš€

What is Onft?

Instead of forcing a consensus algorithm or peer networking on you, Onft provides you with the tools to create a reliable and fast NFT system πŸ‘

This allows you to focus on implementing the important stuff, as well as getting benefits such as automatic improvements and updates over this project's lifecycle, whilst still being fully standardized.

Example

use onft::Chain;

// create
let mut chain = Chain::default();
println!("Chain: {:?}", chain);

// add block
chain.push_data("Hello, world!").unwrap();
println!("Chain: {:?}", chain);

// verify
if let Ok(true) = chain.verify() {
    println!("Verified")
} else {
    eprintln!("Not verified")
}

Check the useful examples/ directory or the item-level documentation for more examples! 😊

Usage

Simply add the following to your Cargo.toml file:

[dependencies]
onft = "0.1.0-beta.2"

Licensing

This project is dual-licensed under both the MIT and Apache licenses, so feel free to use either at your discretion.

Comments
  • Don't hash data directly

    Don't hash data directly

    The hash should be calculated from a hash of the data, so the full data does not need to be sent to verify a block, only:

    • Previous hash
    • Signature
    • Data hash (used to be data)
    enhancement 
    opened by Owez 0
  • Move from RSA to ED25519

    Move from RSA to ED25519

    Due to the power of OpenSSL, hashes can be swapped out quite easily and should be done in the case of RSA vs ED25519 for message signatures primarily due to the length of a message signature.

    To be future-proof levels of secure, RSA4096 should be used but this would create very large message signatures comparatively. The fix is simply to move to ED25519 signatures which have comparative security for less data cost due to the smaller size.

    This will be done before the first 0.1.0 release and even before the 0.1.0-beta.1 one.

    enhancement 
    opened by Owez 0
  • Impoved chain interface

    Impoved chain interface

    Closes #13. Does the following to the main Chain method interface:

    • [ ] Query support with a generalised .search() or .find() allowing queries; linear search
      • [ ] Document
    • [x] Renaming x_data back to x, such as push_data
      • [x] Document
    • [x] Adding support for pushing "external" blocks manually; ones deserialised from somewhere for example
      • [ ] Document
    • [x] Clearing blockchain data
      • [ ] Document
    • [ ] New blockchain with capacity
      • [ ] Document
    • [ ] Shrink to fit
      • [ ] Document
    • [ ] Other well-deserved vec methods, don't want to crowd with features unsuited to blockchains
    enhancement 
    opened by Owez 0
  • Document serde support

    Document serde support

    Should be documented in the README.md as well as library-level documentation. A note should also be mentioned on blocks or chains about how the PROTO_VERSION byte will be attached

    documentation enhancement 
    opened by Owez 0
  • Switch SHA256 to BLAKE3 hash

    Switch SHA256 to BLAKE3 hash

    Switching means greater speeds at the cost of having another library other then OpenSSL. At the time of issue opening, it was thought that switching OpenSSL to another library was needed, which is not the case.

    enhancement 
    opened by Owez 4
Owner
Owez
I'm Owen Griffiths, a developer and student currently residing in Liverpool, UK.
Owez
NFT & Marketplace Contracts with royalties and fungible token support. Sample React app included.

NFT Market Reference Implementation A PoC backbone for NFT Marketplaces on NEAR Protocol. Reference Changelog Changelog Progress: basic purchase of NF

NEAR App Examples 156 Apr 28, 2022
DIP721 - An Internet Computer Non-fungible Token Standard

DIP721 - Introduction DIP721 is an ERC-721 style non-fungible token standard built mirroring its Ethereum counterpart and adapting it to the Internet

Psychedelic 48 Nov 24, 2022
Dfinity's fungible token standard. Any PRs and comments are welcome,collaborate with us to build this standard

Dfinity's fungible token standard. Any PRs and comments are welcome,collaborate with us to build this standard

Deland Labs 46 Nov 7, 2022
An all-in-one IBC protocol providing fungible token transfer, interchain account, and async query functionalities

ICS-999 An all-in-one IBC protocol providing fungible token transfer, interchain account (ICA), and query (ICQ) functionalities, implemented in CosmWa

larry 9 Apr 1, 2023
Metaplex is a protocol built on top of Solana that allows: Creating/Minting non-fungible tokens;

Metaplex is a protocol built on top of Solana that allows: Creating/Minting non-fungible tokens; Starting a variety of auctions for primary/secondary

Metaplex Foundation 3.2k Jan 4, 2023
All the data an IC app needs to make seamless experiences, accessible directly on the IC. DAB is an open internet service for NFT, Token, Canister, and Dapp registries.

DAB ?? Overview An Internet Computer open internet service for data. All the data an IC app needs to make a seamless experience, accessible directly o

Psychedelic 58 Oct 6, 2022
Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools.

yi Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools. About Yi is a Solana primitive for building single-sided

Crate Protocol 12 Apr 7, 2022
A contract to lock fungible tokens with a given vesting schedule including cliffs.

Fungible Token Lockup contract Features A reusable lockup contract for a select fungible token. Lockup schedule can be set as a list of checkpoints wi

null 15 Dec 16, 2022
Experiments on blockchain technology (also known as Hashed & Zero-trust Verifiable Linked List)

AngeloChain Experiments on blockchain technology (also known as Hashed & Zero-trust Verifiable Linked List) ⚠️ Before We Get Started Before we get sta

Angelo 1 Jan 20, 2022
πŸ€–CyberAI is designed to bridge the world of Cyberpunk 2077 and the power of OpenAI's AI technology.

CyberAI ?? Welcome to the CyberAI project! This plugin for Cyberpunk 2077 enables integration between the videogame and OpenAI API, opening a world of

Kirill Kuzin 19 Jul 28, 2023
C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

null 1.9k Dec 28, 2022
Substrate NFT !ink smart contract base

Substrate !ink NFT simple implementation This is a simple working version of base NFT smart contract written using latest (as of this date) !ink 3.0.0

POLK4.NET 14 Dec 3, 2022
Drop-in Access Control via NFT Ownership

niftygate - Signature-Based Authenticating Proxy What is it? niftygate is a proxy for HTTP services, that validates signatures, providing an AuthN lay

Chris Olstrom 70 Jan 3, 2023
Examples and helpers to build NFT contracts on CosmWasm

CosmWasm NFTS This repo is the official repository to work on all NFT standard and examples in the CosmWasm ecosystem. cw721 and cw721-base were moved

CosmWasm 147 Jan 4, 2023
The Metaplex NFT-standard Swiss Army Knife tool.

Metaboss The Solana Metaplex NFT 'Swiss Army Knife' tool. Current supported features: Decode NFT mint account metadata Get a list of mint accounts for

Samuel Vanderwaal 576 Jan 6, 2023
This is the Repo used to learn blockchain development in conjusction with the CyberGen NFT Project.

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

null 1 Nov 3, 2021
The NFT smart contract powering xyz on Terra

xyz NFT Contract This repository contains the core NFT smart contract that implements xyz, a base layer for metaverses on the Terra blockchain. The xy

null 16 Sep 25, 2022
A PoC backbone for NFT Marketplaces on NEAR Protocol

NFT Market Reference Implementation A PoC backbone for NFT Marketplaces on NEAR Protocol. Reference Changelog Changelog Progress: basic purchase of NF

null 9 May 26, 2022
Solana NFT generative artwork program

resin Solana NFT generative artwork program Installation Depends on imagemagick for art generation, which can be installed here: https://imagemagick.o

null 4 Jun 24, 2022