Gear Protocol is a Substrate-based platform for developers, enabling anyone to spin up a dApp in just a few minutes.
Hit the ⭐ button to keep up with the daily protocol development progress!
Gear Protocol provides a developer-friendly programming platform for decentralized applications, along with custom runtime technology that can be used to deploy Layer-1 networks for running applications in a decentralized manner. The vision for Gear is to empower developers to create and deploy next-generation Web3.0 applications in the easiest and most efficient way possible.
- Unique 👑 : The main idea underpinning the Gear Protocol is the Actor model for message communications - secure, effective, clear.
- Unique 👑 : Parallelizable architecture ensures even greater speed.
- Unique 👑 : Continued messaging automation through delayed messages enables truly on-chain dApps.
- Unique 👑 : Built-in Actors to provide programs with enhanced access to pallets and to offload high-load computations off-chain.
- Unique 👑 : Create a dApp in minutes using Gear Protocol's libraries.
- Programs run in a Wasm VM, enabling near-native code execution speed.
- Based on Substrate, Gear Protocol ensures fork-less upgrades and compatibility with other blockchains.
- Gear Protocol provides dApp developers with a very minimal, intuitive, and sufficient API for writing custom-logic programs in Rust and running them on Gear-powered networks, such as the Vara Network.
- It provides a technological foundation for constructing highly scalable and rapid decentralized Layer-1 networks.
- Reduces the computational burden on blockchains by offloading highly intensive calculations using a Vara node with WAVM, and then proving the correctness of these calculations on any blockchain.
- A Vara node can be used as a standalone instance running microservices, middleware, open API, and more.
For more details refer to the Gear Whitepaper.
Refer to the Technical Paper for some insights about how it works internally.
-
📖 Visit Gear Wiki to get all the details about how to start implementing your own blockchain application.
- Follow the instructions from "Getting started in 5 minutes" to compile your first Rust test program to Wasm.
- Upload and run the program on the Vara Network Testnet via Gear Idea, send a message to a program and read the program's state.
-
📜 Write your own program or take one from the comprehensive examples library as a basis for a convenient and swift onboarding process.
- Explore dApp examples in action and gain a deeper understanding of their functionalities. Write your own program or use one from the available templates. Adapt a template according to your business needs.
- Test your program off-chain and on-chain using a local node.
- Then upload it via Gear Idea to the Vara Network.
-
🔬 Dive into the documentation on Gear Protocol crates at сrates.io. Particular attention should be paid to - sails_rs, gstd, gcore, gtest, gclient, gsdk. More details can be found in the Documentation section for each crate.
-
📱 Implement a frontend application that interacts with your program using the JS API. React application examples are available here.
To build Vara node binaries from source follow a step by step instructions provided in Node README.
Alternatively, you can download pre-built packages for your OS/architecture:
- macOS M-series (ARM): gear-nightly-aarch64-apple-darwin.tar.xz
- macOS Intel x64: gear-nightly-x86_64-apple-darwin.tar.xz
- Linux x64: gear-nightly-x86_64-unknown-linux-gnu.tar.xz
- Windows x64: gear-nightly-x86_64-pc-windows-msvc.zip
Running the following command will start a single-node Vara Dev net with two users - Alice and Bob:
gear --dev
Performance charts can be seen here: https://gear-tech.github.io/performance-charts.
You can request a new feature by creating a new issue or discuss it with us on Discord. Here are some features in progress or planned: https://github.com/gear-tech/gear/issues
Gear Protocol is licensed under GPL v3.0 with a classpath linking exception.