
Understanding the four Legion Score pillars
What each score represents, how it is calculated, and what it takes to reach the top

Concrete Vaults: the most accessible path to real yield in DeFi
A beginner-friendly introduction to automated DeFi strategies powered by Concrete.

Deploying your first Solidity Contract on Arc Testnet
Deploying your first Solidity Contract on Arc Testnet

Subscribe to Colliseum


Understanding the four Legion Score pillars
What each score represents, how it is calculated, and what it takes to reach the top

Concrete Vaults: the most accessible path to real yield in DeFi
A beginner-friendly introduction to automated DeFi strategies powered by Concrete.

Deploying your first Solidity Contract on Arc Testnet
Deploying your first Solidity Contract on Arc Testnet

<100 subscribers
<100 subscribers
Hi, I’m Heorhii. If you're building with Aleo, you’re probably aiming to create apps that protect user data while staying fully verifiable. That’s what makes Aleo different from most blockchain platforms. To build with Aleo effectively, you need the right SDK for the job.
In this guide, I’ll walk through the four main SDKs available for Aleo development. Each serves a different purpose, depending on your language, platform, and project type. I’ll also show how to use each one with real examples.
https://developer.aleo.org/guides/introduction/getting_started/
1) snarkVM – the Rust SDK for Aleo ZK apps. snarkVM is the low-level zkVM powering Aleo’s private execution engine. If you’re working in Rust and need full control over proof generation or on-chain logic, this is the SDK to use.
How to install snarkVM:
First, install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then install snarkVM:
You can also build from source:
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkVM.git
cd snarkVM
git checkout tags/testnet-beta
cargo install --path .
To run it:
Use it for testing, proof generation, and local execution of Leo programs.
More info you can find here:
https://github.com/ProvableHQ/snarkVM
2) Provable SDK for Node.js and full-stack apps. The Provable SDK is a TypeScript SDK designed for building web and backend applications that use Aleo’s private functions, encrypted records, and credit system. You can run private transitions directly in JavaScript and interact with Aleo’s blockchain using this SDK.
Install the SDK:
npm install @provablehq/sdk
To target mainnet explicitly:
import { Account, ProgramManager, initThreadPool } from '@provablehq/sdk/mainnet.js';
Initialize multi-threading:
Call this once at startup:
await initThreadPool();
Create or import an account:
const account = new Account();
console.log(account.address());
const imported = new Account({ privateKey: 'your-private-key' });
Run a public transition:
const manager = new ProgramManager(account);
const result = await manager.execute(
'credits.aleo',
'transfer_public',
['aleo1recipient...', '1000000u64']
);
console.log('Transaction:', result);
You can also scan and spend records, manage encrypted state, and perform staking operations.
To scaffold a full app quickly, use:
npx create-leo-app@latest
This command sets up a private dApp using the SDK and Leo.
More info you can find here:
https://docs.explorer.provable.com/docs/sdk/92sd7hgph3ggt-overview
3) Puzzle SDK – for connecting to the Puzzle Wallet. The Puzzle SDK offers React hooks and a JavaScript API to integrate your Aleo dApp with the Puzzle Wallet. It is focused on frontend development and works well with apps that rely on wallet-based authentication and record management.
Install the SDK:
For React:
npm install @puzzlehq/sdk
For pure JavaScript:
npm install @puzzlehq/sdk-core
Run the starter app:
Clone one of their demo projects:
git clone https://github.com/puzzlehq/build-a-token.git
cd build-a-token
npm install
npm run dev
This gives you a working token dApp with Aleo and Puzzle integration.
More info you can find here:
4) Leo Wallet Adapter – for browser-based wallet integration. This SDK provides modular wallet adapters for Aleo-compatible wallets. It works especially well in React apps and provides a modal UI, signing, decryption, and record management.
Install required packages:
npm install --save \
@demox-labs/aleo-wallet-adapter-base \
@demox-labs/aleo-wallet-adapter-react \
@demox-labs/aleo-wallet-adapter-reactui \
@demox-labs/aleo-wallet-adapter-leo \
react
Set up the wallet provider:
import { WalletProvider } from '@demox-labs/aleo-wallet-adapter-react';
import { WalletModalProvider } from '@demox-labs/aleo-wallet-adapter-reactui';
import { LeoWalletAdapter } from '@demox-labs/aleo-wallet-adapter-leo';
const Wallet = () => {
const wallets = useMemo(() => [new LeoWalletAdapter({ appName: 'My App' })], []);
return (
<WalletProvider wallets={wallets} autoConnect>
<WalletModalProvider>
{/* your app UI */}
</WalletModalProvider>
</WalletProvider>
);
};
Example: Sign a message:
const { wallet, publicKey } = useWallet();
const onClick = async () => {
if (!publicKey) throw new WalletNotConnectedError();
const bytes = new TextEncoder().encode('message to sign');
const signatureBytes = await (wallet?.adapter as LeoWalletAdapter).signMessage(bytes);
const signature = new TextDecoder().decode(signatureBytes);
alert('Signature: ' + signature);
};
More info you can find here:
https://docs.leo.app/aleo-wallet-adapter
Final words. Each of these SDKs helps you unlock different parts of the Aleo development experience.
Use snarkVM if you want deep Rust control over zero-knowledge execution.
Use the Provable SDK when you’re building a backend or full-stack app with JavaScript.
Use the Puzzle SDK when connecting a browser dApp to the Puzzle Wallet.
Use the Leo Wallet Adapter if you need modular wallet support in a modern React app.
All four tools are actively maintained and open source. Together, they give you the flexibility to build private-by-default applications that scale.
To know more about Aleo, join now!
Aleo Twitter
Aleo Discord
Aleo Website
List of Aleo and Leo code and resourses
Prepared by Colliseum
Hi, I’m Heorhii. If you're building with Aleo, you’re probably aiming to create apps that protect user data while staying fully verifiable. That’s what makes Aleo different from most blockchain platforms. To build with Aleo effectively, you need the right SDK for the job.
In this guide, I’ll walk through the four main SDKs available for Aleo development. Each serves a different purpose, depending on your language, platform, and project type. I’ll also show how to use each one with real examples.
https://developer.aleo.org/guides/introduction/getting_started/
1) snarkVM – the Rust SDK for Aleo ZK apps. snarkVM is the low-level zkVM powering Aleo’s private execution engine. If you’re working in Rust and need full control over proof generation or on-chain logic, this is the SDK to use.
How to install snarkVM:
First, install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then install snarkVM:
You can also build from source:
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkVM.git
cd snarkVM
git checkout tags/testnet-beta
cargo install --path .
To run it:
Use it for testing, proof generation, and local execution of Leo programs.
More info you can find here:
https://github.com/ProvableHQ/snarkVM
2) Provable SDK for Node.js and full-stack apps. The Provable SDK is a TypeScript SDK designed for building web and backend applications that use Aleo’s private functions, encrypted records, and credit system. You can run private transitions directly in JavaScript and interact with Aleo’s blockchain using this SDK.
Install the SDK:
npm install @provablehq/sdk
To target mainnet explicitly:
import { Account, ProgramManager, initThreadPool } from '@provablehq/sdk/mainnet.js';
Initialize multi-threading:
Call this once at startup:
await initThreadPool();
Create or import an account:
const account = new Account();
console.log(account.address());
const imported = new Account({ privateKey: 'your-private-key' });
Run a public transition:
const manager = new ProgramManager(account);
const result = await manager.execute(
'credits.aleo',
'transfer_public',
['aleo1recipient...', '1000000u64']
);
console.log('Transaction:', result);
You can also scan and spend records, manage encrypted state, and perform staking operations.
To scaffold a full app quickly, use:
npx create-leo-app@latest
This command sets up a private dApp using the SDK and Leo.
More info you can find here:
https://docs.explorer.provable.com/docs/sdk/92sd7hgph3ggt-overview
3) Puzzle SDK – for connecting to the Puzzle Wallet. The Puzzle SDK offers React hooks and a JavaScript API to integrate your Aleo dApp with the Puzzle Wallet. It is focused on frontend development and works well with apps that rely on wallet-based authentication and record management.
Install the SDK:
For React:
npm install @puzzlehq/sdk
For pure JavaScript:
npm install @puzzlehq/sdk-core
Run the starter app:
Clone one of their demo projects:
git clone https://github.com/puzzlehq/build-a-token.git
cd build-a-token
npm install
npm run dev
This gives you a working token dApp with Aleo and Puzzle integration.
More info you can find here:
4) Leo Wallet Adapter – for browser-based wallet integration. This SDK provides modular wallet adapters for Aleo-compatible wallets. It works especially well in React apps and provides a modal UI, signing, decryption, and record management.
Install required packages:
npm install --save \
@demox-labs/aleo-wallet-adapter-base \
@demox-labs/aleo-wallet-adapter-react \
@demox-labs/aleo-wallet-adapter-reactui \
@demox-labs/aleo-wallet-adapter-leo \
react
Set up the wallet provider:
import { WalletProvider } from '@demox-labs/aleo-wallet-adapter-react';
import { WalletModalProvider } from '@demox-labs/aleo-wallet-adapter-reactui';
import { LeoWalletAdapter } from '@demox-labs/aleo-wallet-adapter-leo';
const Wallet = () => {
const wallets = useMemo(() => [new LeoWalletAdapter({ appName: 'My App' })], []);
return (
<WalletProvider wallets={wallets} autoConnect>
<WalletModalProvider>
{/* your app UI */}
</WalletModalProvider>
</WalletProvider>
);
};
Example: Sign a message:
const { wallet, publicKey } = useWallet();
const onClick = async () => {
if (!publicKey) throw new WalletNotConnectedError();
const bytes = new TextEncoder().encode('message to sign');
const signatureBytes = await (wallet?.adapter as LeoWalletAdapter).signMessage(bytes);
const signature = new TextDecoder().decode(signatureBytes);
alert('Signature: ' + signature);
};
More info you can find here:
https://docs.leo.app/aleo-wallet-adapter
Final words. Each of these SDKs helps you unlock different parts of the Aleo development experience.
Use snarkVM if you want deep Rust control over zero-knowledge execution.
Use the Provable SDK when you’re building a backend or full-stack app with JavaScript.
Use the Puzzle SDK when connecting a browser dApp to the Puzzle Wallet.
Use the Leo Wallet Adapter if you need modular wallet support in a modern React app.
All four tools are actively maintained and open source. Together, they give you the flexibility to build private-by-default applications that scale.
To know more about Aleo, join now!
Aleo Twitter
Aleo Discord
Aleo Website
List of Aleo and Leo code and resourses
Prepared by Colliseum
Share Dialog
Share Dialog
No activity yet