Database software and other software for Internet Computer

This site presents my and third-party software that handles “distributed” (multi-canister) databases in DFINITY Internet Computer blockchain (or ICP, for Internet Computer Project) and other IC-related software.

Unlike other blockchains ICP is so much cost efficient that it became economically viable to store data in the blockchain.

CanDB

A key-value database that can grow indefinitely.

It is done by using a multi-canister DB.

CanDBMulti

An “extension” to CanDB that allows to ensure uniqueness of keys inserted to the DB despite it’s multi-canister.

NacDB

A multi-canister DB with seamless enumeration.

It is done by composing the potentially big DB out of enumerable sub-DBs, each fitting inside a canister.

This is useful for potentially big sites that contain lists:

  • posts in a social media
  • grants in a grant distributor like Gitcoin
  • NFTs in an NFT site

NacDBReorder

An “extension” to NacDB that allows to edit the order of items in a sub-DB dynamically efficiently.

Gitcoin Passport Client

Connect ICP to Gitcoin Passport securely to retrieve anti-Sybil data.

Optionally store the data from Passport in a CanDBMulti DB (an anti-Sybil DB).

ImprovedDFX

Make support (for faster recompilation) is built into DFX.