aleo-sdk-node
v0.1.2
Published
Aleo SDK for program execution in NodeJS
Downloads
5
Maintainers
Readme
Aleo SDK Node
Aleo SDK Node allows program execution in NodeJS by interfacing with snarkVM under the hood.
Currently, it only supports:
- Loading program keys for program execution
- Build program execution transaction
For other use cases, please use @provablehq/sdk.
Usage
To do program execution
- Install
aleo-sdk-node
npm install aleo-sdk-node- Load program keys
Make sure you include
main.aleoandprogram.jsonin the same directory. Then runloadProgramKeys.
await loadProgramKeys();- Build execution transaction
Use
buildExecutionTransactionto build your transaction. Make sure you save the execution results for broadcasting to the network.
const privateKey = process.env.PRIVATE_KEY;
const options = {
privateKey,
endpoint: "https://api.explorer.provable.com/v1",
functionName: "hello",
inputs: [
"5u32",
"5u32"
],
programId: "hello_hello.aleo",
priorityFee: BigInt(0),
baseFee: BigInt(11323),
enableLog: true // NOTE: For debugging purposes
};
const execution = await buildExecutionTransaction(options);- Broadcast transaction to network Using the execution transaction result, broadcast it to the network.
const txn = execution.transaction // NOTE: From output of step (3) build execution transaction
const url = new URL('https://api.explorer.provable.com/v1/testnet/transaction/broadcast');
const config = {
body: txn,
method: 'POST',
headers: {
"Content-Type": "application/json"
}
}
const res = await fetch(url, config);
const data = await res.json();Network Support
For network, we currently only support testnet beta. Mainnet support is coming soon.
Architecture Support
Currently, we only support the following architectures
- darwin-arm64
- darwin-x64
- linux-x64-musl
Development
Package source code are in /src. To develop with the package, we can run the following command. It builds and runs ./test.mjs. It is using dotenv-cli. Please install it globally (ie. npm i -g dotenv-cli).
# Build and run
npm run dev