We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hi, i am looking to discuss the possible ways to sync custom nft folders.
i am currently implementing folder sync for the nft folder app.
wonder if there is a way to come up with a standard approach to syncing nft folders that could be adopted.
below is a wip approach – would love your thoughts and criticism.
organize nfts into folders and see the same custom folders in zora, opensea, rainbow, etc.
what could be a good standard way to sync a custom folders structure?
proposal:
SyncedFolderSnapshot
struct SyncedFolderSnapshot: Codable { let formatVersion: Int let uuid: String let nonce: Int let timestamp: Int let address: String let rootFolder: SyncedFolder } struct SyncedFolder: Codable { let name: String let nfts: [NftInSyncedFolder] let childrenFolders: [SyncedFolder] } struct NftInSyncedFolder: Codable { let chainId: String let tokenId: String let address: String }
static func attestFolder(address: String, cid: String) -> URL? { let inputString = cid.toPaddedHexString() return URL(string: "\(easScanBase)/attestation/attestWithSchema/\(nftFolderAttestationSchema)#template=\(address)::0:false:\(inputString)") }
https://base.easscan.org/attestation/attestWithSchema/0x39693b21ffe38b11da9ae29437c981de90e56ddb8606ead0c5460ba4a9f93880#template=0xE26067c76fdbe877F48b0a8400cf5Db8B47aF0fE::0:false:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003b6261666b726569626437617376627864676d37746e746c676665636a736d743272686d6f78737a366176756d746175687068756e666872357461790000000000
using easscan graphql api
curl --request POST \ --header 'content-type: application/json' \ --url 'https://base.easscan.org/graphql' \ --data '{"query":"query Attestation {\n attestations(\n take: 1,\n orderBy: { timeCreated: desc},\n where: { schemaId: { equals: \"0x39693b21ffe38b11da9ae29437c981de90e56ddb8606ead0c5460ba4a9f93880\" }, recipient: { equals: \"0xE26067c76fdbe877F48b0a8400cf5Db8B47aF0fE\" }, attester: { equals: \"0xE26067c76fdbe877F48b0a8400cf5Db8B47aF0fE\" } }\n ) {\n attester\n recipient\n decodedDataJson\n timeCreated\n }\n}","variables":{}}'
https://ipfs.decentralized-content.com/ipfs/bafkreibd7asvbxdgm7tntlgfecjsmt2rhmoxsz6avumtauhphunfhr5tay
use SyncedFolderSnapshot to display nfts in folders
The text was updated successfully, but these errors were encountered:
made a repo with an updated description of the wip approach https://github.com/lil-org/how-to-sync-nft-folders
not sure if this way would work for other apps
collecting feedback on it now
let me know if you get a chance to take a look at it
Sorry, something went wrong.
Hi! This approach looks good at a glance.
Are there any specific questions you want feedback/help with?
@iainnash thanks for taking a look at it.
something for the future:
if zora ever adds pinned albums / folders to the minted tab, it'd be cool if these were synced onchain too.
wonder if syncing via eas would work for zora in that case.
No branches or pull requests
hi, i am looking to discuss the possible ways to sync custom nft folders.
i am currently implementing folder sync for the nft folder app.
wonder if there is a way to come up with a standard approach to syncing nft folders that could be adopted.
below is a wip approach – would love your thoughts and criticism.
syncing custom nft folders
organize nfts into folders and see the same custom folders in zora, opensea, rainbow, etc.
what could be a good standard way to sync a custom folders structure?
proposal:
nft folders + ethereum attestation service
1️⃣ upload
SyncedFolderSnapshot
json to ipfs2️⃣ create an attestation with
SyncedFolderSnapshot
ipfs cidhttps://base.easscan.org/attestation/attestWithSchema/0x39693b21ffe38b11da9ae29437c981de90e56ddb8606ead0c5460ba4a9f93880#template=0xE26067c76fdbe877F48b0a8400cf5Db8B47aF0fE::0:false:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003b6261666b726569626437617376627864676d37746e746c676665636a736d743272686d6f78737a366176756d746175687068756e666872357461790000000000
3️⃣ get the latest attestation
using easscan graphql api
4️⃣ get
SyncedFolderSnapshot
json corresponding to the latest attestationhttps://ipfs.decentralized-content.com/ipfs/bafkreibd7asvbxdgm7tntlgfecjsmt2rhmoxsz6avumtauhphunfhr5tay
5️⃣ get nfts from an api of your choice
use
SyncedFolderSnapshot
to display nfts in foldersThe text was updated successfully, but these errors were encountered: