Description
Version: 0.0.91
Status: Submitted to Creator Portal, awaiting approval
Compatible with: n8n v1.0.0+ (tested on v1.113.0)
n8n-nodes-chainstream
n8n-nodes-chainstream is an n8n community node that enables workflows to access real-time blockchain data via Chainstream. It supports token, wallet, and trade queries across multiple chains, and is designed for reuse, easy extension, and straightforward review.
๐ Installation
npm install n8n-nodes-chainstream
- Restart n8n to load the new community node.
- Add the Chainstream node to your workflow and configure credentials.
๐ Credentials
Create a new credential in n8n:
- API Client ID โ Chainstream public key
- API Client Secret โ Chainstream private key
โ ๏ธ Do not commit real keys to your repository or exported workflows. Use placeholders in templates and bind credentials after import.
โก Quickstart
-
Go to Workflows โ Import in n8n and upload
/templates/workflow.jsonfrom this repo. -
Run:
npm install n8n-nodes-chainstream -
Create and bind your Chainstream credential.
-
Configure a trigger (e.g., Telegram, webhook, cron).
-
Run the workflow and inspect the Chainstream node output.
Note:
/templates/workflow.jsonuses credential placeholders. Replace them after import.
๐งช Example Node Configuration
Node: Chainstream
- Credentials: ChainstreamApi
- Resource: token
- Operation: get
- Chain ID: 137
- Token Address:
0x1234...abcd - Options: (leave default)
Example output:
{
"symbol": "ABC",
"name": "Token ABC",
"decimals": 18,
"address": "0x..."
}
For batch runs, use expressions or upstream nodes to supply dynamic parameters.
๐ Supported Resources
Short summary of supported resources (full mapping in DEVELOPER.md):
- token โ metadata, prices, holders, liquidity, security, mint/burn
- trade โ listings, activities, leaderboards
- wallet โ balance queries
๐งโ๐ป Developer Notes
The execute method builds requests dynamically:
- Reads
resourceandoperationper item - Calls
buildRequest()to map to{ method, path, qs } - Sends request via
chainstreamApiRequest() - Wraps response with
constructExecutionMetaData() - Handles errors via
NodeOperationError, respectscontinueOnFail
Full handler mapping and endpoint patterns are in DEVELOPER.md.
๐ ๏ธ Troubleshooting
- Invalid resource/operation โ check for typos
- Bad parameters โ test with single item before batching
- API errors โ inspect node output, verify credentials
- Batch runs โ enable
Continue On Failto capture per-item errors
Debug tips:
- Use Executions view to inspect inputs/outputs
- Add a Set node to test static parameters
- Start with one item to simplify debugging
๐งช Contributing & CI
npm run build # Compile TypeScript
npm run lint # Run ESLint
npm run test # Run Jest tests
prepublishOnlyruns build + lint before publishing- Use GitHub Actions to automate lint/build/test
- Keep TypeScript strict and ESLint green
To add a new operation:
- Add handler in
buildRequest() - Extract parameters via
getNodeParameter(..., i) - Return
{ method, path, qs? } - Add tests and update
DEVELOPER.md
๐ฆ Templates & Reviewer Guidance
/templates/workflow.jsonโ example workflow/templates/README-template.mdโ import instructions- If reviewers lack production keys, provide:
- mock API
- test account
- recorded executions
When submitting:
- Include repo link, npm package name/version
- Provide install steps and sample outputs
- Add screenshots if possible
๐ฌ Contact & Support
- Maintainer: Chainstream Team โ ai@chainstream.io
- Issues & PRs: GitHub Issues
๐ License
MIT