n8n-nodes-dcc
v0.3.2
Published
n8n community nodes for interacting with DecentralChain (DCC) node REST API (accounts, tokens, transactions, utilities).
Downloads
842
Maintainers
Readme

DCC Node Api Connector for N8N
Production readiness: early 0.x; expect breaking changes until 1.0. Follow semver guidance below.
The DCC Node REST API offers the ability to read blockchain data such as account data, token data, active leases, blocks, transactions, and other data including feature activation status and block reward voting status. It also provides transaction management functions like broadcasting signed transactions, pre-validating and checking transaction status. Additionally, it offers utilities for generating addresses from public keys, validating addresses, generating random seeds, calculating hashes, and more.
With this N8N you will be able to connect the DCC node api to your workflows, automate blockchain tasks or trigger wallet creations and more.
Installation
Install the community package in your n8n instance (requires enabling Community Nodes):
npm install n8n-nodes-dccRestart n8n after installation so it loads the new node bundle.
Enabling Community Nodes (if not already)
- In n8n UI go to Settings > Community Nodes.
- Enable the feature (confirm the security notice).
- Add this package name
n8n-nodes-dccif using the in-app installer or install via CLI as above.
Updating
npm update n8n-nodes-dccCheck changelog and commit history for potential breaking changes (0.x minor bumps may be breaking until 1.0.0).
Semantic Versioning
This project follows Semantic Versioning principles; however while in 0.x the API surface (parameters, field names) may change in minor releases. Once 1.0.0 is reached:
- MAJOR: Breaking changes to node description/fields/behavior.
- MINOR: Backwards-compatible features (new resources / operations / optional fields).
- PATCH: Backwards-compatible bug fixes and internal maintenance.
Pin exact versions in mission‑critical environments to avoid unexpected changes.
Releasing Manually
- Update
CHANGELOG.mdwith changes. - Bump version in
package.jsonfollowing SemVer guidance. - Commit:
chore(release): vX.Y.Z. - Tag:
git tag -a vX.Y.Z -m "vX.Y.Z"thengit push --tags. - Release workflow (after added) publishes on matching tag.
See detailed steps in CONTRIBUTING.md.
Features / Operations
Resources supported:
- Account
- Get Account: Retrieve balance & basic account info
- Token
- Get Token: Retrieve token / asset metadata
- Transaction
- List Transactions: Paginated list for an address (limit & offset)
- Broadcast Transaction: Broadcast a signed transaction JSON
- Utility
- Generate Address: Derive address from a supplied public key
- Validate Address: Check if an address is valid in the network
- Matcher
- Get Order Books/Book/Status/Restrictions
- Asset Rates (get/upsert/delete)
- Place Orders (limit/market) and Cancel (by pair or all)
Credentials
The node can operate with or without credentials.
- Create a credential of type
DccApito centrally manage the Node Base URL and/or include a bearer token for authenticated endpoints (future expansion). - Create a credential of type
DccMatcherApito centrally manage the Matcher Base URL and API token. This is separate from the node API and is used only for the Matcher resource.
Credential fields:
| Field | Description | |-------|-------------| | Base URL | Optional override of default public node endpoint | | Token | Bearer token (if your node requires auth) |
Matcher credential (DccMatcherApi) fields:
| Field | Description | |-------|-------------| | Base URL | Matcher endpoint, e.g. https://mainnet-matcher.decentralchain.io | | Token | Bearer token used by your matcher instance (if required) |
If no credential is supplied, the node uses the Base URL parameter on the node itself.
Usage Examples
1. Get Account
- Add the DCC node.
- Select Resource = Account, Operation = Get Account.
- Enter the account Address.
- Execute to receive balances and other basic data.
2. List Transactions
- Resource = Transaction, Operation = List Transactions.
- Provide Owner Address, adjust Limit & Offset as needed.
- Execute to return an array of transactions.
3. Broadcast Transaction
- Resource = Transaction, Operation = Broadcast Transaction.
- Paste the signed transaction JSON into the Signed Transaction JSON field.
- Execute; response includes success status or validation errors.
3b. Transfer with Attachment
- Resource = Transaction, Operation = Transfer.
- Fill Recipient Address, Amount, and optionally Asset ID.
- In the Attachment section, choose Mode:
- Plain Text: enter human-readable text. The node encodes it as UTF‑8 and then Base58. The decoded byte length must be <= 140 bytes.
- Base58: paste a Base58 string. The node will validate and enforce the 140‑byte limit after decoding.
- Execute. If the attachment is too large or invalid Base58, you’ll get a clear validation error with the byte count.
4. Generate Address
- Resource = Utility, Operation = Generate Address.
- Provide a Public Key.
- Execute to get derived address.
5. Validate Address
6. Matcher: Get Order Book
- Resource = Matcher, Operation = Get Order Book.
- Fill Amount Asset and Price Asset (use
DCCfor the native asset). - Optionally set Depth.
- Execute to get bids/asks and market info.
7. Matcher: Place Limit Order (user-friendly form)
- Resource = Matcher, Operation = Place Limit Order.
- Provide Amount Asset, Price Asset, Order Type (buy/sell), Amount (long units), Price (long units), Fee, Fee Asset, Sender Public Key, Expiration, Version.
- Execute; the node builds the order JSON for you and sends it to the matcher.
- If you prefer to paste raw JSON, enable "Use Raw Order JSON" and supply the full order object.
8. Matcher: Cancel Order(s)
- Resource = Matcher, Operation = Cancel Order (by Pair) or Cancel All Orders.
- By default, use the form fields: Sender Address, Order ID (optional to cancel all in pair), Timestamp (0 to auto), Signature (optional if your matcher requires it).
- For advanced cases, enable "Use Raw Cancel JSON" and paste the exact body expected by the matcher.
Notes:
- Matcher Base URL will be taken from the
DccMatcherApicredential when provided; otherwise the node uses the "Matcher Base URL" field on the node. - Amount/Price are expected in long units (smallest units) as per matcher conventions.
- Resource = Utility, Operation = Validate Address.
- Provide the address string.
- Execute to get validation result.
Attachments: Details and Limits
- DCC transfer and mass transfer attachments are binary payloads represented as Base58 strings on-chain.
- This node provides a user-friendly Attachment section:
- Mode = Plain Text: we encode your text as UTF‑8, then Base58, and validate size.
- Mode = Base58: we validate your Base58 string and its decoded size.
- Size limit: up to 140 bytes AFTER decoding (UTF‑8 bytes). Longer payloads are rejected with an error indicating the size.
- Examples:
- Text: "hello" → 5 bytes → OK
- Emoji: "😀" → UTF‑8 is multi‑byte; ensure total bytes ≤ 140
- Base58: paste only if you already have the encoded form; otherwise use Plain Text mode.
Development / Build
Install dependencies and build:
npm install
npm run build
npm run check:distLint & format:
npm run lint
npm run lintfix
npm run formatProject Health
Prerequisites
You need the following installed on your development machine:
- Node API Key, you can get this by running your own node or renting an API from someone else in the network.
More information
Refer to our documentation to get more background on how the DCC node works: DecentralChain Documentation
Contributing
Issues & PRs welcome. Please open security-related issues with the SECURITY prefix (see Security Policy).
