Rust implementation for Thippy -- a Substrate parachain for smart contracts.

Related tags

Cryptography Thippy
Overview

Thippy ‒- A Smart Contracts Parachain

This is a node implementation of Thippy, a Substrate parachain for smart contracts.

Developing Smart Contracts for Thippy

This node is based on the 'parachain-template', which we configured to use Substrate's smart contracts module ‒ the contracts pallet. This contracts pallet takes smart contracts as WebAssembly blobs and defines an API for everything a smart contract needs (storage access, …). As long as a programming language compiles to WebAssembly and there exists an implementation of this API in it, you can write a smart contract for this pallet ‒ and thus for Thippy ‒ in that language.

This is a list of languages you can currently choose from:

  • ask! for Assembly Script
  • The Solang compiler for Solidity

There are also different user interfaces and command-line tools you can use to deploy or interact with contracts:

If you are looking for a quickstart, we can recommend ink!'s Guided Tutorial for Beginners.

Rococo Deployment

We have a live deployment of the Thippy parachain on Rococo ‒ a testnet for Polkadot and Kusama parachains. You can interact with the network through Polkadot JS Apps, click here for a direct link to Thippy.

The Thippy parachain uses the Rococo relay chain's native token (ROC) instead of having its own token. Due to this you'll need ROC in order to deploy contracts on Thippy.

As a first step, you should create an account. See here for a detailed guide.

As a second step, you have to get ROC testnet tokens through the Rococo Faucet. This is a chat room in which you need to write:

!drip YOUR_SS_58_ADDRESS:1002

The number 1002 is the parachain id of Thippy on Rococo, by supplying it the faucet will teleport ROC tokens directly to your account on the parachain.

If everything worked out, the teleported ROC tokens will show up under the "Accounts" tab for Thippy.

Once you have ROC on Thippy you can deploy a contract as you would normally. If you're unsure about this, our guided tutorial will clarify that for you in no time.

Run it Locally

Installation

You need to have executables of both Polkadot and Thippy.

Binary releases can be found here: Polkadot releases, Thippy releases.

Alternatively you can install (or build) the projects yourself:

  • cargo install --git https://github.com/ng8eke/polkadot.git --force --locked
  • cargo install --git https://github.com/ng8eke/Thippy.git --force --locked

The --locked flag makes the installation (or build) use the same versions as the Cargo.lock in those repositories ‒ ensuring that the last known-to-work version of the dependencies is used.

Launching

Starting this project is best done using the polkadot-launch tool ‒ it starts Polkadot and registers the Thippy parachain on it automatically.

To use polkadot-launch you must ensure that you're using Node.js v14.x or newer. If you're on macOS, you must also ensure that your machine's firewall is disabled. You can do this by going to "System Preferences" > "Security & Privacy" > "Firewall" and ensuring that it's off.

Now that you have the prerequisites:

  1. Install it with yarn global add polkadot-launch or npm i polkadot-launch -g
  2. Check that the paths in polkadot-launch/config.json point to the polkadot and Thippy executables
  3. Launch the network with polkadot-launch polkadot-launch/config.json

At this point you should be able to use Polkadot JS Apps to connect to the Polkadot relay chain nodes as well as the Thippy collator.

Building from source

Follow the official installation steps to set up all Substrate prerequisites.

Afterwards you can install this node via

git clone https://github.com/ng8eke/Thippy.git
cd Thippy/
cargo build --release --locked 

Unstable Features

If you're the type of person that likes to drink your soup before it cools, you might also be wondering about how to activate unstable pallet-contracts features. To do this you can run the previous installation command with the following flag: --features contracts-unstable-interface.

You might also like...
Create your personal token with rust smart contracts

Solana Rust Token 💰 This application written Rust using Anchor ⚓

Rust library for build smart contracts on Internet Computer, by the Spinner.Cash team.

Spinner Rust library for building smart contracts on the Internet Computer. More specifically it is used by Spinner.Cash, a decentralized layer-2 prot

🖨 Template for Rust applications & smart contracts @okp4.

Rust Template Template for Rust projects @okp4. Purpose & Philosophy This repository holds the template for building Rust projects with a consistent s

Rust client to Seaport's APIs and Ethereum smart contracts(WIP)

Seaport-rs WIP - WORK IN PROGRESS. REFER TO https://github.com/Alcibiades-Capital/quay FOR PRODUCTION READY CODE I'm new to Rust and seek to be legend

An open source, high performance limit order book for the Seaport smart contracts. Implemented in Rust using ethers-rs, this offers a turnkey option for digital asset marketplaces.

Quay Quay is an open source, high performance backend for the Seaport smart contracts. The project is implemented in Rust, using Postgres as a storage

Unofficial Rust SDK library for Uniswap smart contracts.

uniswap-rs Unofficial Rust SDK library for Uniswap smart contracts. Quickstart Add this to your Cargo.toml: [dependencies] uniswap-rs = { git = "https

zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.
zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.

zink! Smart Contract Macros This is a helper library for developing ink! smart contracts. It contains useful Rust macros that extend functionality and

Unofficial Rust SDK library for Uniswap smart contracts.

uniswap-rs Unofficial Rust SDK library for Uniswap smart contracts. Quickstart Add this to your Cargo.toml: [dependencies] uniswap-rs = { git = "https

Substrate NFT !ink smart contract base

Substrate !ink NFT simple implementation This is a simple working version of base NFT smart contract written using latest (as of this date) !ink 3.0.0

Owner
Arthur·Thomas
Work for Cryptagende
Arthur·Thomas
Minimal Substrate node configured for smart contracts via pallet-contracts.

substrate-contracts-node This repository contains Substrate's node-template configured to include Substrate's pallet-contracts ‒ a smart contract modu

Parity Technologies 73 Dec 30, 2022
The main repo for manta relay nodes and manta parachain nodes

Manta Manta is a privacy preserving DeFi stack on Polkadot/Substrate. The code currently hasn't been properly security audited (work in progress), use

Manta Network 99 Dec 14, 2022
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

HoangDuong 1 Oct 19, 2021
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

HoangDuong 1 Oct 19, 2021
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

Liam Parry 0 Nov 6, 2021
evm2near compiles Solidity contracts into NEAR WebAssembly contracts.

EVM → NEAR evm2near is a project for compiling EVM bytecode into wasm bytecode, with the particular goal of having that wasm artifact be executable on

Aurora 125 Dec 3, 2022
Ticketed Discreet Log Contracts (DLCs) to enable instant buy-in for wager-like contracts on Bitcoin.

dlctix Ticketed Discreet Log Contracts (DLCs) to enable instant buy-in for wager-like contracts on Bitcoin. This project is part of the Backdrop Build

null 7 Feb 29, 2024
Rust project for working with ETH - Ethereum transactions with Rust on Ganache and also deploy smart contracts :)

Just a test project to work with Ethereum but using Rust. I'm using plain Rust here, not Foundry. In future we will use Foundry. Hope you're already f

Akhil Sharma 2 Dec 20, 2022
Rust client to Opensea's APIs and Ethereum smart contracts

opensea.rs Rust bindings & CLI to the Opensea API and Contracts CLI Usage Run cargo r -- --help to get the top level help menu: opensea-cli 0.1.0 Choo

Georgios Konstantopoulos 226 Dec 27, 2022
A template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it.

CosmWasm Starter Pack This is a template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it. To understan

null 1 Mar 7, 2022