{"id":42907,"library":"js-driver-bdb-orm","title":"BigchainDB ORM.js","description":"A CRAB (Create, Retrieve, Append, Burn) based ORM for BigchainDB, version 0.0.7. This library provides a higher-level abstraction over the BigchainDB JavaScript driver, enabling developers to define models and perform CRUD-like operations on a blockchain. It is a fork of the original bigchaindb-js driver, maintained independently. The package does not appear to be actively maintained, with the last version released around 2018. It relies on the official BigchainDB driver for connection and keypair generation.","status":"deprecated","version":"0.0.7","language":"javascript","source_language":"en","source_url":"https://github.com/WietzeSlagman/js-driver-orm","tags":["javascript","bigchaindb","driver","blockchain","decentralized","orm"],"install":[{"cmd":"npm install js-driver-bdb-orm","lang":"bash","label":"npm"},{"cmd":"yarn add js-driver-bdb-orm","lang":"bash","label":"yarn"},{"cmd":"pnpm add js-driver-bdb-orm","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for connecting to BigchainDB nodes, creating keypairs, and performing transactions.","package":"bigchaindb-driver","optional":false}],"imports":[{"note":"ESM-only; use default import. CJS require may fail due to lack of module.exports.","wrong":"const Orm = require('bigchaindb-orm'); \n// Missing default import; CJS require may not work if package is ESM-only","symbol":"Orm","correct":"import Orm from 'bigchaindb-orm'"},{"note":"No named export; only default export.","wrong":null,"symbol":"Orm","correct":"import Orm from 'bigchaindb-orm'"},{"note":"Key generation is through the driver instance, not a separate import.","wrong":"Cannot import Ed25519Keypair directly; must access via Orm.driver","symbol":"bdbOrm.driver.Ed25519Keypair","correct":"import Orm from 'bigchaindb-orm'; const keypair = new Orm.driver.Ed25519Keypair()"}],"quickstart":{"code":"import Orm from 'bigchaindb-orm'\n\nconst bdbOrm = new Orm(\n  'https://test.bigchaindb.com/api/v1/',\n  { app_id: process.env.APP_ID ?? '', app_key: process.env.APP_KEY ?? '' }\n)\n\nbdbOrm.define('myModel', 'https://schema.org/v1/myModel')\n\nconst aliceKeypair = new bdbOrm.driver.Ed25519Keypair()\n\nbdbOrm.models.myModel\n  .create({\n    keypair: aliceKeypair,\n    data: { key: 'value' }\n  })\n  .then(asset => {\n    console.log('Asset ID:', asset.id)\n  })\n  .catch(err => console.error(err))","lang":"javascript","description":"Initialize ORM, define a model, create a keypair, and create an asset on BigchainDB testnet."},"warnings":[{"fix":"Switch to 'bigchaindb-orm' (official) or 'bigchaindb-driver' for up-to-date support.","message":"The package is a fork may not be maintained; use original bigchaindb-orm or bigchaindb-driver directly.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Understand that 'update' appends a new transaction, and 'delete' burns the asset.","message":"The ORM uses CRAB (Create, Retrieve, Append, Burn) which differs from standard CRUD: update becomes append, delete becomes burn.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Define the model name correctly at startup; it's immutable.","message":"The model name defined with bdbOrm.define cannot be changed after definition.","severity":"breaking","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.0.7':14 '2018':70 'abstract':22 'activ':62 'appear':59 'append':7 'around':69 'base':9 'bigchaindb':1,12,25,50,76,84 'bigchaindb-j':49 'blockchain':41,86 'burn':8 'connect':79 'crab':4 'creat':5 'crud':36 'crud-lik':35 'decentr':87 'defin':31 'develop':29 'driver':27,52,77,85 'enabl':28 'fork':45 'generat':82 'higher':20 'higher-level':19 'independ':54 'javascript':26,83 'js':51 'keypair':81 'last':66 'level':21 'librari':16 'like':37 'maintain':53,63 'model':32 'offici':75 'oper':38 'origin':48 'orm':10,88 'orm.js':2 'packag':56 'perform':34 'provid':17 'releas':68 'reli':72 'retriev':6 'version':13,67","created_at":"2026-06-05T16:57:14.344790+00:00","updated_at":"2026-06-05T16:57:14.344790+00:00","problems":[{"fix":"Install package with correct name: npm install js-driver-bdb-orm","cause":"Package not installed or installed under wrong name (fork version uses 'bigchaindb-orm' but npm package name is 'js-driver-bdb-orm')","error":"Cannot find module 'bigchaindb-orm'"},{"fix":"Use import Orm from 'js-driver-bdb-orm' (default import) instead of import { Orm } from '...'","cause":"Using a named import instead of default import","error":"Orm is not a constructor"},{"fix":"Check BigchainDB driver docs; use 'app_id' and 'app_key' as shown in README.","cause":"Constructor expects options object, but app_id may be incorrect property name (should be 'app_id'?)","error":"Unrecognized property: app_id"},{"fix":"Call bdbOrm.define('myModel', ...) before accessing bdbOrm.models.myModel","cause":"Model not defined with define() before use","error":"bdbOrm.models.myModel.create is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/WietzeSlagman","github":"https://github.com/WietzeSlagman/js-driver-orm","docs":null,"changelog":null,"pypi":null,"npm":"js-driver-bdb-orm","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","blockchain"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}