Multitenant (1 running instance, multiple isolated tenants). Will be often deployed with 1 tenant, will be run by AV and partners of AV as multi-tenant. Tenants defined as users logged in via their wallet, typically not having access to the server and database directly.
The MetaAnchor-API-Key (provided to users of the framework with the physical labels) as well as other secrets / keys must be well protected. Especially when people with mediocre programming and IT-Security skills edit the provided software in this repo, it shall be very hard to accidentially expose those keys
An "easy" programming language shall be used to allow people with mediocre programming skills to extend the framework and build their own functionality. It shall be widespread and have good community support in the context of Web3 (e.g. Javascript, Typescript, ..)
Reactive by default or large library of design templates with reactive design. Is typically displayed on Mobile and Desktop.
Shall support to Log in with WalletConnect, MetaMask, Coinbase-Wallets, Ledger, ...
Can handle a high amount of requests and concurrent connections on the backend (>100/s) without special mechansms. The api/collection/* (#3) will be called frequently by many sources. When an NFT is transferred, many NFT Marketplaces listen to the "ERC-721" Transfer event on a blockchain and then request the metadata to cache it. So multiple Marketplaces will request metadata almost simultanously.
Small footprint, i.e. is deployable on the smallest tier of webservers you usually get. (In the 5-15$ / month range)
Persistend data storage (#4 )
Typically ~10.000 entries
Each entry 2-3 kB of JSON Metadata
Each entry an Image with ~ 1 MB
Can be licensed under MIT or similar license (opensource, commercial use)
Goal / Acceptance
Framework is deployed having the same functionality as the PoC framework.
A Test-NFT from United Friends of Cujo is transferred through a scan of SLID 123XYZ calling frontend/landing?av_sip=...&av_beneficiary=....
The NFT is configured (metdata + image) in the persistent data layer. The entry is indexed through the SLID 123XYZ.
The Metadata of this NFT is supplied via OpenSea Metadata Standards via api/collection/* including an image via api/artwork/*
The current metaanchor-framework is merely a draft and Proof-of-concept implementation lacking both, functionality and proper software design.
Requirements (Condensed from [concept document])(https://github.com/authenticvision/metaanchor/blob/bde637f2bf9f0cab4f0d268cf6a75a4e594b87e8/concept/README.md):
api/collection/*
(#3) will be called frequently by many sources. When an NFT is transferred, many NFT Marketplaces listen to the "ERC-721" Transfer event on a blockchain and then request the metadata to cache it. So multiple Marketplaces will request metadata almost simultanously.Goal / Acceptance
frontend/landing?av_sip=...&av_beneficiary=...
.api/collection/*
including an image viaapi/artwork/*