Fullstack development framework for UTXO-based dapps on Nervos Network

Overview

Trampoline-rs

The framework for building powerful dApps on the number one UTXO chain, Nervos Network CKB.

This is an early-stage, currently very incomplete port of IAMM Network's Trampoline to Rust

Why port it to Rust? Because I was tired of NPM

Installation

Pre-requisites

  • Rust toolchain
  • Docker

Note: You must have permission to manage docker. This article can help if you run into permissions errors when running docker.

cargo install trampoline --git https://github.com/WilfredTA/trampoline-rs

Or, clone the project, then cd trampoline-rs && cargo build && cargo install --path .

Usage

All you can do right now is create a new project, launch a containerized developer netowrk, autodeploy useful scripts that aren't included in the genesis cells, and generate configs that make building dapps a lot easier.

Create a new project

To get started:

trampoline new <project_name>

This will create a new directory with .

Launch developer environment

Navigate to your project's directory and you can get started with two commands:

make all
make deploy-all

The first command will set everything up, including your docker environment & start a local ckb node & miner. The second command will deploy important scripts and then execute the trampoline pwconfig command to generate the config file for front end dapps that use pw-core.

I recommend waiting a few seconds between running make all and make deploy-all, since the deploy-all recipe sometimes fails if the ckb node is still initializing. Usually, waiting about 2-3 seconds suffices. If make deploy-all fails, you don't have to do anything besides re-run the command.

React-based Dapp

After running the make recipes in the root of your Trampoline project, you can generate a React dApp frontend like so:

trampoline create-ckb-dapp

You might also like...
Computational Component of Polkadot Network
Computational Component of Polkadot Network

Gear is a new Polkadot/Kusama parachain and most advanced L2 smart-contract engine allowing anyone to launch any dApp for networks with untrusted code.

Official Implementation of Findora Network.

Findora Platform Wiki Contribution Guide Licensing The primary license for Platform is the Business Source License 1.1 (BUSL-1.1), see LICENSE. Except

Simple in-network file transfer with barely any overhead.

fftp fftp is the "Fast File Transport Protocol". It transfers files quickly between computers on a network with low overhead. Motivation FTP uses two

netavark: A container network stack

netavark: A container network stack Netavark is a rust based network stack for containers. It is being designed to work with Podman but is also applic

A cross-platform, user-space WireGuard port-forwarder that requires no system network configurations.

Cross-platform, user-space WireGuard port-forwarder that requires no system network configurations.

An implementation of the CESS network supported by CESS LAB.
An implementation of the CESS network supported by CESS LAB.

--------- 🌌 ---------An infrastructure of decentralized cloud data network built with Substrate-------- 🌌 -------- ---------------- 🌌 -------------

A small utility to wake computers up or put them to sleep over the local network

WKSL - a wake and sleep utility An experiment in writing a small CLI utility in Rust. The program lets you wake a machine on your local network up fro

Private swaps for Secret Network using a private entropy pool & differential privacy.

WIP SecretSwap: Anon Edition Private swaps for Secret Network! Uses private entropy pool for differential privacy when reporting pools sizes. Swap amo

Common Rust Lightning Network types

Common Rust Lightning Network types Warning: while in a good state, this is still considered a preview version! There are some planned changes. This l

Comments
  • moleculec: not found

    moleculec: not found

    What I did: Install trampoline from cloned project folder Generate fresh project via: trampoline new {project_name} Run make all in fresh project folder

    What happened:

    moleculec --language c --schema-file c/blockchain.mol > c/protocol.h
    /bin/sh: 1: moleculec: not found
    make[1]: *** [Makefile:57: c/protocol.h] Error 127
    make[1]: Leaving directory '/opt/code/crafter/deps/pw-lock'
    make: *** [Makefile:20: pw-lock] Error 2
    
    opened by requaos 1
Owner
TannrA
Working on the distributed web
TannrA
Shade Protocol is an array of connected privacy-preserving dApps built on Secret Network

Shade Protocol Core Contracts Contract Reference Description mint doc Handles asset burning and silk minting oracle doc Handles asset price queries tr

Secure Secrets 58 Nov 15, 2022
The Graph is a protocol for building decentralized applications (dApps) quickly on Ethereum and IPFS using GraphQL.

Graph Node The Graph is a protocol for building decentralized applications (dApps) quickly on Ethereum and IPFS using GraphQL. Graph Node is an open s

Mindy.wang 2 Jun 18, 2022
Docker containers on a synthetic network. Run applications in a context that lets you manipulate their network conditions.

Synthetic Network Docker containers on a synthetic network. Run applications in a context that lets you manipulate their network conditions. Dependenc

Daily 58 Dec 15, 2022
A simple configuration-based module for inter-network RPC in Holochain hApps.

DNA Auth Resolver A simple configuration-based module for inter-network RPC in Holochain hApps. About Usage In the origin zome In the destination DNA

Shadman Baig 0 Feb 4, 2022
A simple message based networking library for the bevy framework

Spicy Networking for Bevy bevy_spicy_networking is a solution to the "How do I connect multiple clients to a single server" problem in your bevy games

Cabbit Studios 67 Jan 1, 2023
Network simulation in Rust

netsim - A Rust library for network simulation and testing (currently linux-only). netsim is a crate for simulating networks for the sake of testing n

Andrew Cann 115 Dec 15, 2022
A private network system that uses WireGuard under the hood.

innernet A private network system that uses WireGuard under the hood. See the announcement blog post for a longer-winded explanation. innernet is simi

Tonari, Inc 4.1k Dec 29, 2022
A Curve-like AMM for Secret Network

A Curve-like AMM for Secret Network. Supports a varibale number of tokens with the same underlying value.

Enigma 16 Dec 11, 2022
A multi-protocol network relay

A multi-protocol network relay

zephyr 43 Dec 13, 2022
A Rust library for parsing the SOME/IP network protocol (without payload interpretation).

someip_parse A Rust library for parsing the SOME/IP network protocol (without payload interpretation). Usage Add the following to your Cargo.toml: [de

Julian Schmid 18 Oct 31, 2022