NFTs make great profile pictures. Showing off your NFT as a profile picture, preferably on the collection communities' Discord channels, makes you part of the gang!
These derivative elements can form a metaverse where NFT communities flourish. So that’s a great vision, but currently there aren’t good tools to make it happen. That’s where Splice comes in.
Splice generates building blocks for metaverse creation. When you input your NFT, Splice extracts its features and metadata and generates an array of derivative elements. Right now it's built to create banner images for social profiles. Anyone who owns an NFT can create a matching header image on Splice.
The full documentation of the Splice protocol can be found here: https://splicenft.github.io/splicenft/
All relevant code is written in Typescript and Solidity, so to build it the only prerequisite is to have an up to date nodejs installation. We recommend NVM to set it up.
The project is using pnpm as a monorepo package manager. Because it's better, faster, slimmer than yarn or npm and supports monorepos without the lerna hassle and yarn incompatibilities right out of the box. Install it globally, before continuing.
You can install all dependencies by issuing an
pnpm install
in the root folder and pnpm will download and hoist all dependencies for all packages neatly.
We're using dotenv-flow
for .env
file resolution. Therefore, .env files are unique for your environment and mustn't be committed ever. For each package, check the .env.sample files to get an idea what you mus configure for each package.
contains all smart contracts and a TS based Hardhat configuration that allows you to compile the code, run tests and create typechain information for its dependents.
contains all commonly used interface classes, helpers (e.g. color extractors and chain indexers) and types needed to for the frontend and the backend. Depends on contracts being built
To make Splice an enjoyable experience we're running a backend service that caches style code and renderered splices. Depends on common being built.
The Splice frontend, built as a CRA using Chakra UI and ethers.js. Depends on common.
Code for The Graph indexers. Will create a subgraph instance on the hosted service. Is utilized by Dapp to quickly scan for existing Splices, provenances and an user's items.