{"title": "NacDB Distributed Database", "logoImg": "bafkreig2xexg2weiw22mfyu5erkpfxmockhdx7netwlgas4anpe26qhw6m", "website": "https://github.com/vporton/NacDB", "createdAt": 1698806121232, "userGithub": "vporton", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..fhAj0LHkjRb1-P9zLFstsG7sYc8n8mhTSwVbgf7GsNKcQwl-fC29TUwBEkaUj0MfvAfKdOOITp9g9GyvafYzCg", "type": "Ed25519Signature2018", "created": "2024-04-02T15:40:46.911Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-02T15:40:46.911Z", "expirationDate": "2024-07-01T15:40:46.911Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x36A0356d43EE4168ED24EFA1CAe3198708667ac0", "hash": "v0.0.0:4DU+ll3VbUjCcAjZV2neX51xMxhNaZENo4c6Qt8si18=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#NacDBDatabase#2900574"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..bTx1GTcRyGNyv0mneglXZXCsb41EPae59B0zBxqIMZjWxzMfzrSIODWh1AKIgh5oKG1JY-HsTZD02kX08sEcAA", "type": "Ed25519Signature2018", "created": "2024-04-02T15:37:42.400Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-02T15:37:42.400Z", "expirationDate": "2024-07-01T15:37:42.400Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x36A0356d43EE4168ED24EFA1CAe3198708667ac0", "hash": "v0.0.0:DEsOYQoHjOZzxfYJ87pu6HCe5bJ/KolmuhbgcWLE8n4=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#NacDB_Database"}}}, "description": "NacDB is a **distributed database** for **DFINITY Internet Computer** that supports **seamless enumeration**.\n\nIt is done by **splitting** the DB **into sub-DBs**, such that **every sub-DB fits inside one canister**, for seamless enumeration.\n\nIts \"plugin\" **NacDBReorder** allows also to reorder ordered items efficiently.\n\nNacDB is done in such a way to **reduce** cycles (**gas**) spents on creating new canisters, that is to be **gas-effective**.\n\n**NacDB is a must** for any project that needs **enumeration of items** (that is putting items into some order) that are possibly so many that it won't fit inside one canister: Consider a social network with streams of posts that need to be enumerated. Or consider a grants system like Gitcoin (but on Internet Computer) where grants are presented in some order. Or site listing NFTs.\n\nBecause NacDB is developed for one task, enumeration of DB items, it is normally recommended to use it together with another database, such as CanDB.\n\nNacDB is **used** in my **commercial** project Zon Social Network and is planned to be used in my **other non-commercial** project, Salaries Science. (The social network and the grants platform mentioned in the example above.)\n\nDuring development of NacDB there were also created ICP make rules to reduce compilation times for ICP projects.\n\nNacDB is in **active development** as of today. Both **monetary** help and **software development help** is welcome. Contact me on details of needed software development help.", "logoImgData": {}, "projectGithub": "NacDBDatabase", "projectTwitter": "NacDB_Database"}