@withautonomi/autonomi
v0.9.0
Published
NodeJS bindings for Autonomi client
Downloads
263
Readme
The client API for Autonomi. This Node.js addon provides bindings into the Rust autonomi crate.
Usage
Add the @withautonomi/autonomi package to your project. For example, using npm:
$ npm install @withautonomi/autonomiUsing a modern version of Node.js we can use import and async easily when we use the .mjs extension. Import the Client and you're ready to connect to the network!
// main.mjs
import { Client } from '@withautonomi/autonomi'
const client = await Client.initLocal()Run the script:
$ node main.jsExamples
Work in progress:
For general guides and usage, see the Developer Documentation. This is currently worked on specifically to include Node.js usage.
For example usage, see the __test__ directory. Replace import { .. } from '../index.js' to import from @withautonomi/autonomi instead.
Contributing, compilation and publishing
To contribute or develop on the source code directly, Node.js must be installed (installation instructions here).
With Node.js installed, change the working directory to autonomi-nodejs/:
$ cd ./autonomi-nodejs/Then install the dependencies for the project:
$ npm installBuild
Then build using the build script (which calls the napi CLI):
$ npm run buildRunning tests
Run the test script:
npm test
# Or run a specific test
npm test __test__/register.spec.mjs -m 'registers errors'Publishing
Before publishing, bump the versions of all packages with the following:
$ npm version patch --no-git-tag-versionUse major or minor instead of patch depending on the release.
It's a good practice to have an unreleased version number ready to go. So if 0.4.0 is the version released on NPM currently, package.json should be at 0.4.1.
Workflow
Use the 'Node.js (release)' workflow (nodejs-publish.yml) to publish the package from main or a tag. This workflow has to be manually dispatched through GitHub.
