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).

ICP Make Rules

Rules for GNU Make to build IC projects effectively.

DFX rebuilds everything, whether it is needed or not, our make rules allow to optimize this process, building only what is necessary to build.