Developer Tools#
Tools for writing, testing and deploying Ride scripts on DecentralChain. All of them are developed under the Decentral-America GitHub organization. To call the chain from your own code, see Client Libraries and SDK.
At a Glance#
Tool |
What it’s for |
State (2026-10-25) |
|---|---|---|
Compile, estimate and decompile scripts |
On every node, including the public Testnet node. The method these docs use |
|
Try expressions and read chain state interactively |
|
|
Starting points for new contracts |
Source repository |
|
Command-line compiling and testing |
|
|
Compile Ride from JavaScript |
Not usable from npm yet |
|
DecentralChain IDE |
Browser IDE for Ride |
No public instance hosted |
Compile with a Node#
Every node compiles Ride for you: POST /utils/script/compileCode takes the source as plain text and returns the compiled script, its complexity and any extra fee. It writes nothing to the chain.
curl -s -X POST -H 'Content-Type: text/plain' \
--data-binary $'{-# STDLIB_VERSION 6 #-}\n{-# CONTENT_TYPE EXPRESSION #-}\n{-# SCRIPT_TYPE ACCOUNT #-}\nsigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)' \
https://testnet-node.decentralchain.io/utils/script/compileCode
{"script":"base64:BgEJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkGZtJY","complexity":182,"verifierComplexity":182,"callableComplexities":{},"extraFee":0}
The script value goes into a Set Script, Set Asset Script or Issue transaction. For a dApp, callableComplexities gives the complexity of each callable function. In TypeScript, the compileRide helper in Compile a Script wraps this call.
Two more endpoints take a compiled script, the base64:... string, as the plain-text body:
POST /utils/script/estimatereturns the same complexity figures for an already compiled script.POST /utils/script/decompileturns a compiled script back into Ride source, for example to read the script on an account you didn’t write. Comments and formatting are lost.
Ride REPL#
The Ride REPL evaluates Ride line by line, offline or against a node’s live state, from a Node.js script or a web page.
Starter Templates#
dcc-ride-templates is a collection of Ride contract templates, shared modules and composition examples to start a new project from. Compile a template with a node before you deploy it, and read the script: a template is a starting point, not an audited contract for your use case.
The runnable examples in these docs are smaller, self-contained contracts with a Testnet walkthrough each: the pledge drive, the multisig and escrow accounts, the smart assets, and the token exchange, poll and list-argument dApps.
Surfboard#
surfboard (@decentralchain/surfboard on npm) is a command-line tool to compile scripts, run Mocha tests against a node, and script deployments. The repository has not been updated since 2022. Release 2.2.6 still pulls its compiler and transaction library from packages outside the DecentralChain organization, and declares support for Node.js 8, so it is not covered by these docs’ checks. For new projects, compile with a node and test with the TypeScript SDK, as the How-To Guides do.
ride-js and @decentralchain/ride#
ride-js wraps the Ride compiler for JavaScript. On npm:
@decentralchain/ride-js2.3.0 depends on compiler packages outside the DecentralChain organization.@decentralchain/ride2.3.1, its successor in the monorepo’spackages/ride/ts, can’t be installed: itspackage.jsonstill declaresworkspace:*dependencies, andnpm installfails withEUNSUPPORTEDPROTOCOL.
Until a fixed @decentralchain/ride release is published, compile with a node.
DecentralChain IDE#
The DecentralChain IDE is a browser IDE for Ride, with syntax highlighting, type and complexity checking, and deployment of account, dApp and asset scripts. No public instance is currently hosted. Use the REPL and a node’s compiler instead.
Explorer and Faucet#
DecentralScan shows blocks, transactions, accounts, tokens and the data entries of dApps, so you can check the result of every call. The Testnet explorer is at testnet.decentralscan.com.
The Testnet faucet sends free Testnet DCC to an address starting with
31.
For the language itself, see the Ride Language section.