A Rust-based CustomVM for the Avalanche blockchain network

Overview

Build Status

A rust-based Custom VM for Avalanche Subnets

Curious about how to run Rust-based smart contracts, or just custom VMs for Avalanche blockchain? You're in the right place.

Usage

Build

cargo build

Build and run

In the landslide git root directory:

./scripts/build.sh

The script will provide instructions on how to run landslide in avalanche.

Update protobuf definitions from upstream

./scripts/update-proto.sh

Test with ava-sim

  1. Export path to landslide genesis data file, in the environment variable LANDSLIDE_GENESIS_PATH
  2. Export path to landslide executable in the environment variable LANDSLIDE_BIN_PATH
  3. Clone https://github.com/ava-labs/ava-sim and go in the directory.
  4. In ava-sim root, run:
./scripts/run.sh $LANDSLIDE_BIN_PATH "$LANDSLIDE_GENESIS_PATH"

Interact with it

Once the VM is launched, all Avalanche's TimestampVM instructions work completely drop-in: https://docs.avax.network/build/tutorials/platform/subnets/create-a-virtual-machine-vm

You might also want to read how to create a custom blockchain: https://docs.avax.network/build/tutorials/platform/subnets/create-custom-blockchain

You might also like...
dWallet Network, a composable modular signature network is the home of dWallets

Welcome to dWallet Network dWallet Network, a composable modular signature network is the home of dWallets. A dWallet is a noncollusive and massively

Polkadex - An Orderbook-based Decentralized Exchange using the Substrate Blockchain Framework.

What is Polkadex? 🚀 Polkadex is a Open Source, Decentralized Exchange Platform made using Substrate Blockchain Framework that provides traders with t

The Data Highway Substrate-based blockchain node.

DataHighway-Parachain, a parachain on the Polkadot network. Planned features include a decentralized LPWAN roaming hub for LoRaWAN IoT devices and network operator roaming agreements, participative mining, an inter-chain data market, and DAO governance.

flow-rust-sdk utilizes the Flow gRPC AccessAPI to make requests on the flow blockchain.

Welcome to the Flow-Rust-SDK! We're glad to have you here. There are a few important items that we should cover real quick before you dive in. Version

Rust-native building blocks for the Cardano blockchain ecosystem

Pallas Rust-native building blocks for the Cardano blockchain ecosystem. Introduction Pallas is an expanding collection of modules that re-implements

Simple example for building a blockchain in Rust

rust-blockchain-example Simple example for building a blockchain in Rust Start using RUST_LOG=info cargo run This starts the client locally. The block

A secure development tool box and fintech application made with Rust to be used for developing cryptocurrencies on the blockchain.

Crypto Fintech Tools for Rust (CFT) Dependencies Rust MacOS Homebrew # xcode cli tools xcode-select --install # install dependencies using Homebrew b

Rust implementation of Namada, a sovereign proof-of-stake blockchain that enables asset-agnostic private transfers

Namada Overview Namada is a sovereign proof-of-stake blockchain, using Tendermint BFT consensus, that enables multi-asset private transfers for any na

Rust implementation of the Inter-Blockchain Communication (IBC) protocol.

ibc-rs Rust implementation of the Inter-Blockchain Communication (IBC) protocol. This project hosts the ibc rust crate which defines the main data str

Comments
  • Implement scripts/harness for rapid testing

    Implement scripts/harness for rapid testing

    Build a script to launch AvalanacheGo in the easiest way possible, perhaps in a container? Maybe ava-sim? Don't know yet.

    This is to build the plugin and launch it in a representative environment in the fastest and simplest way possible.

    The better this rinse-repeat loop, the better the experience.

    opened by archisgore 1
  • Adding a Rust-based port of the Avalanche Timestamp VM

    Adding a Rust-based port of the Avalanche Timestamp VM

    https://github.com/archisgore/landslide/issues/3

    The changes are too massive for me to document. 99% of my time was in discovering the goofy go-plugin side-channel format, and on top of the Avalnche's ghttp side-channel-over-side-channel format.

    opened by archisgore 0
  • Created the complete go-plugin interface and tested end-to-end using ava-sim

    Created the complete go-plugin interface and tested end-to-end using ava-sim

    Resolves: https://github.com/archisgore/landslide/issues/1

    1. Implements a gRPC server that emits a handshake.
    2. Validates the caller's handshake using magic cookie and value.
    3. Implements a health server.
    4. Implements both TCP and Unix sockets.
    opened by archisgore 0
Owner
Archis
Archis
Avalanche primitive types in Rust (experimental)

AvalancheGo Compatibility Crate Version(s) AvalancheGo Version(s) Protocol Version v0.0.134-155 v1.9.2,v1.9.3 19 v0.0.156-176 v1.9.4 20 v0.0.177-200 v

Ava Labs 26 Feb 4, 2023
Avalanche APIs/VM SDK in Rust

avalanche-rs ⚠️ avalanche-rs is alpha-level software and is not ready for production use. Do not use avalanche-rs to run production workloads. See the

Ava Labs 30 Oct 10, 2023
The Zenotta Network Protocol (ZNP), the network that supports the Zenotta blockchain

Zenotta Network Protocol A repo for the development of the Zenotta Network Protocol (ZNP). We will regularly be updating links and easter eggs inside

Zenotta AG 10 Apr 2, 2023
xx network Substrate based blockchain node

xx network Substrate based blockchain node Rust Setup First, complete the basic Rust setup instructions. MacOS users: setup to compile for Linux Befor

xx network 11 Dec 20, 2022
Selendra is a multichains interoperable nominated Proof-of-Stake network for developing and running Substrate-based and EVM compatible blockchain applications.

Selendra An interoperable nominated Proof-of-Stake network for developing and running Substrate-based and EVM compatible blockchain applications. Read

Selendra 16 Nov 29, 2022
ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot network.

ARYA Network ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot n

Pankaj Chaudhary 6 Dec 20, 2022
The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.

Nervos CKB - The Common Knowledge Base master develop About CKB CKB is the layer 1 of Nervos Network, a public/permissionless blockchain. CKB uses Pro

Nervos Network 1k Dec 30, 2022
The Phala Network Blockchain, pRuntime and the bridge.

Phala Blockchain Phala Network is a TEE-Blockchain hybrid architecture implementing Confidential Contract. This repo includes: node/: the main blockch

Phala Network 314 Jan 6, 2023
A value transfer bridge between the Monero blockchain and the Secret Network.

Secret-Monero-Bridge A value transfer bridge between the Monero blockchain and the Secret Network. Proof-of-Concept Video Demonstration: https://ipfs.

null 28 Dec 7, 2022
Cross-chain bridge message delivery network. We are hiring, [email protected]

Introduction Implementation of a https://darwinia.network node in Rust based on the Substrate framework. This repository contains runtimes for the Dar

Darwinia Network 225 Nov 8, 2022