This is where you can find the cutting-edge development of the Tari smart contract layer.
You can read about the technical specifications of the Ootle in the RFCs.
If you're looking for the core Tari base layer code, it's in this repository
See the dedicated README for installation and running guides.
NOTE: This repo is heavily under development, so these instructions may change without notice.
The easiest way to run a test network is to use tari_swarm_daemon
.
cargo run --bin tari_swarm_daemon --release -- -c data/swarm/config.toml init
# Edit your config. You may need to point it to the path for the tari L1 repo. By default it assumed it's checked out at `../tari`.
cargo run --bin tari_swarm_daemon --release -- -c data/swarm/config.toml start
This will start a Minotari base node, a Minotari console wallet, an Ootle validator node, a wallet and an indexer. Additionally, it will automatically submit the validator node registration and mine blocks until the validator node is active.
Open http://localhost:8080
where you can administer the running instances, get links to the various web UIs and
JSON-RPC endpoints, view logs and more.
NOTE: tari_swarm_daemon
is specifically for development/debugging and runs a complete local test network. Instructions
for running a wallet, indexer, or validator node, the feature is still in development.
See the tari-cli tool for details.
This is built into the testnet wallet, and faucet tokens can be obtained from the wallet web UI.
L1 Minotari coins are able to be burnt and claimed, the user may convert (1:1) these to Tari coins on the layer-2 network.
The easiest way to do this is in a test environment to click a button in the tari_swarm_daemon
web UI.
After creating an account in the Ootle wallet. Provide the account name and the amount of Tari to burn to the swarm daemon. This creates the burn transaction on the Minotari wallet and provides a "burn proof". You can then copy and paste that burn proof into the Ootle wallet web UI using the "Claim Burn" dialog.
For other environments, the "manual" process is as follows:
NOTE: These steps will likely be smoothed over in future apps.
- Run the Ootle wallet,
- Generate a key using the web ui or
tari_ootle_wallet_cli
tool. - Run a L1 console wallet and navigate to the
burn
tab. - Burn the desired amount of Tari, making sure to include the claim public key generated in step 2. WARNING: if you lose the claim public key, you will not be able to claim the funds on the Tari network.
- Copy the claim proof JSON data from the L1 console wallet.
{
"transaction_id": <transaction_id>,
"is_success": <IS_SUCCESS>,
"failure_message": <FAILURE_MESSAGE>,
"commitment": <COMMITMENT>,
"ownership_proof": <OWNERSHIP_PROOF>,
"rangeproof": <RANGEPROOF>
}
- Wait for the burn to be mined in. Validator nodes scan the L1 network for burnt UTXOs with special flags. Depending on the network configuration, this may require 10-100s of blocks before the burn is picked up.
- Use the Ootle wallet web UI or the
tari_ootle_wallet_cli
tool to claim the burn using the burn proof using the " Claim burn" dialog.