@shardeum-foundation/core
v2.13.4-0
Published
The Shardus Global Server
Downloads
68
Readme
Shardus Core
The foundational technology upon which all Shardus applications are built
Install
You can install Shardus Core via npm:
npm i @shardus/core
Installing and Building Locally
Make sure you have Node.js and npm installed on your system. Run the following command to install the necessary dependencies:
npm install
Please note that you need to have the Rust toolchain installed. We're working on a fix for this, but for now you'll need it. Specifically,
cargo
must be in yourPATH
.
For building the project, run the following command:
npm run build:dev
This will build the dist/
folder with the source code compiled from typescript to javascript, but not to bytecode.
Optionally, you can set up a watcher to automatically build the project on every change:
nodemon -e ts,json -x 'npm run build:dev'
Additionally, you can link this project from another project using the following syntax in the package.json
file:
{
...
"dependencies": {
"@shardus/core": "../shardus-core"
},
...
}
and then that project will be using the javascript version of this after every keystroke. Note that the same thing can be accomplished using npm link
in lieu of using the ../shardus-core
style syntax.
If you prefer to run off the fully compiled release version of your current code, replace build:dev
with build:release
. This will compile the code into bytecode.
Note: Running any of the
build:
prefixed commands will not publish anything to npm. They simply populate thedist/
directory with the compiled code. You can run these commands safely as often as you wish.
Releasing
If you're a core developer on this project and need to cut a release, simply run:
npm run release
This command will guide you through the steps necessary to release the package.
Note: Ensure that you're using the correct version of Node.js as specified in the
package.json
file under the engines.node property. Using a different version may cause compatibility issues.
Contributing
Contributions are very welcome! Everyone interacting in our codebases, issue trackers, and any other form of communication, including chat rooms and mailing lists, is expected to follow our code of conduct so we can all enjoy the effort we put into this project.