Skip to content

Commit

Permalink
Articles proofreading (#70)
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrePanin authored Jan 24, 2024
1 parent 6ca2d0b commit cb7200a
Show file tree
Hide file tree
Showing 13 changed files with 110 additions and 86 deletions.
65 changes: 41 additions & 24 deletions docs/about/capabilities.mdx

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs/about/developing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@ sidebar_label: Developing on Vara

## Introduction

As a cutting-edge smart contract engine, Vara Network places its trust in the robust [Gear Protocol](https://gear-tech.io/) for seamless execution of WebAssembly (Wasm) smart contracts. The integration of the Gear Protocol empowers Vara to create a developer-friendly environment that excels in implementing and running smart contracts with unparalleled flexibility, accommodating both intricate logic and complex functionalities. This collaboration ensures that developers can unleash their creativity while maintaining a strong focus on safety and security.
As a cutting-edge smart contract engine, Vara Network trusts in the robust [Gear Protocol](https://gear-tech.io/) for seamless execution of WebAssembly (Wasm) smart contracts. Integrating Gear Protocol empowers Vara to create a developer-friendly environment that excels in implementing and running smart contracts with unparalleled flexibility, accommodating both intricate logic and complex functionalities. This collaboration ensures developers unleash their creativity while maintaining a strong focus on safety and security.

With Vara Network and Gear Protocol working hand in hand, the world of smart contracts becomes more accessible and dynamic, offering endless possibilities for developers and users alike.

## Messaging Concept

Understanding the message communication model and its benefits is of utmost importance for the safety and success of developers working with Vara Network. This innovative model is built upon the principles of the Actor Model, where all participants, including programs and users, are considered as "actors." These actors interact seamlessly by exchanging messages.

To delve deeper into the development process and leverage the full potential of the message communication model, we encourage you to explore the comprehensive resources available in the [Gear Wiki](https://wiki.gear-tech.io/docs/developing-contracts/introduction). This valuable reference will provide you with clear insights and guidance on implementing smart contracts with efficiency and precision.
Explore the comprehensive resources available in the [Gear Wiki](https://wiki.gear-tech.io/docs/developing-contracts/introduction) to delve deeper into the development process and leverage the full potential of the message communication model. This valuable reference will provide clear insights and guidance on implementing smart contracts with efficiency and precision.

## Program Rent-Based system

Vara Network introduces an innovative program life cycle management system, prioritizing sustainable and economical resource usage. Within this system, programs on the Vara network have the option to rent network resources for their memory storage. This rental concept can be likened to a time-limited subscription that allows the program to remain active and operational within the network.
Vara Network introduces an innovative program life cycle management system, prioritizing sustainable and economical resource usage. Within this system, programs on the Vara network can rent network resources for their memory storage. This rental concept is similar to a time-limited subscription that allows the program to remain active and operational within the network.

Upon program upload, each program is automatically assigned a predefined expiration date <ins>for free</ins>, typically set to last for `5,000,000` blocks, where each block has a duration of approximately 3 seconds (~ 173 days).
Upon program upload, each program is automatically assigned a predefined expiration date for free, typically set to last for 5,000,000 blocks, where each block lasts approximately 3 seconds (~ 173 days).

To extend the program's functionality beyond this period, users have the option to increase this expiration parameter for the program. However, to ensure the viability of the program throughout the chosen lifetime extension, the user must possess enough VARA tokens in their balances.
To extend the program's functionality beyond this period, users can increase this expiration parameter for the program. However, to ensure the program viability throughout the chosen lifetime extension, the user must possess enough VARA tokens in their balances.

To maintain the program's functionality after the current rent period expires, the user should proactively pay more VARA tokens for the program. Any user on the network can contribute additional VARA to any program as needed.

Expand All @@ -34,7 +34,7 @@ After the rent period's expiration, the program automatically transitions to a '
- **Stimulating Utility Token Use**: To extend the life of their programs beyond the initial expiration date, owners must pay rent using utility tokens. This mechanism incentivizes and stimulates the use of utility tokens within the Vara ecosystem. As a result, the circulation of utility tokens increases, enhancing their overall utility and promoting a healthy token economy.
- **Promoting a Sustainable Economic Model**: Vara Network's thoughtful program life cycle approach ensures that network resources are allocated to actively maintained and useful programs. By utilizing a rent-based system, Vara fosters a sustainable economic model, wherein programs that continue to provide value can be sustained over time, leading to a healthier and more robust network.

To explore the technical aspect of the rent program system, we encourage you to visit the [Gear Wiki](https://wiki.gear-tech.io/docs/developing-contracts/rent-system).
Visit the [Gear Wiki](https://wiki.gear-tech.io) to explore the technical aspects of the rent program system.

## How to Start Developing on Vara Network?

Expand Down
15 changes: 7 additions & 8 deletions docs/about/technology.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,31 @@ sidebar_position: 2
sidebar_label: Technology aspect
---

The Gear Protocol is a Substrate-based smart-contract platform that enables anyone to develop and run a dApp in a matter of minutes. The Gear Protocol is the most developer-friendly way to implement smart contracts with arbitrary logic and of any complexity.
Gear Protocol, built on Substrate, facilitates swift dApp development. It is the most developer-friendly way to implement programs and smart contracts with arbitrary logic and of any complexity.

Vara benefits from Gear Protocol's unique tech stack that includes the Actor Model, Persistent Memory and the WebAssembly virtual machine (Wasm).
More details can be found on **[Gear Wiki](https://wiki.gear-tech.io/docs/)**.

## Actor Model

In the Actor Model for communications these programs as well as users are known as actors”. Actors do not share their state and communicate via messages, this way adding an extra layer of security to the network. All communications are asynchronous, but logically guaranteed to be handled, which increases the achievable network speed and allows building of more sophisticated dApps.
In the Actor Model of communication, programs and users are known as "actors." Actors maintain their state privacy and communicate through messages, enhancing network security. All communications are asynchronous but logically guaranteed to be handled, which increases the achievable network speed and allows the building of more sophisticated dApps.

For more info, read in [Gear Wiki](https://wiki.gear-tech.io/docs/gear/technology/actor-model).

## Persistent Memory

The Persistent Memory concept implies that programs don't use shared storage, but rather their full state is persisted in individual memory space. Clever and effective memory virtualization techniques allow tracking memory access and ensuring that only required pages are persisted and loaded when needed. It removes many complexities smoothing the development process, while also mapping running programs and their states to more closely resemble real-life operating system primitives.
The Persistent Memory concept entails that programs do not rely on shared storage; instead, their complete state is consistently stored within their respective memory spaces. Clever and effective memory virtualization techniques allow tracking memory access and ensuring that only required pages are persisted and loaded when needed. It removes many complexities, streamlining the development process while mapping running programs and their states to more closely resemble real-life operating system primitives.

For more info, read in [Gear Wiki](https://wiki.gear-tech.io/docs/gear/technology/persist-memory).
For more info, read in [Gear Wiki](https://wiki.gear-tech.io/docs/gear/technology/persist-memory).

## Wasm

WebAssembly allows the running of any bytecode in a sandboxed environment. Smart contracts in Vara are run as Wasm programs (Actors), and since Wasm can be compiled from a variety of common programming languages, it considerably lowers the barrier to entry for developers arriving from the Web2 space.
Enabling native speed for deterministic cross-platforms computations, Wasm is Web3 development unlocked.
WebAssembly allows the running of any bytecode in a sandboxed environment. Smart contracts in Vara are run as Wasm programs (Actors). Since Wasm can be compiled from a variety of common programming languages, it considerably lowers the barrier to entry for developers arriving from the Web2 space. Enabling native speed for deterministic cross-platform computations, Wasm is Web3 development unlocked.

For more info, read in [Gear Wiki](https://wiki.gear-tech.io/docs/gear/technology/WASM).

## Network Upgrade

As any software system, blockchains tend to update with security patches or other changes in the code. First blockchains had to create a fork in order to update. Each fork causes lack of stability as well as price volatility. It is difficult to coordinate updates that should be agreed by the whole community in the decentralized system.
Like all software systems, blockchains require periodic updates for security patches and other code changes. In the early days, blockchains had to implement forks to make updates, causing instability and price fluctuations. Coordinating updates within a decentralized community proved challenging.

Since Vara is based on the Substrate blockchain development framework, it supports forkless runtime upgrades. Substrate makes it possible to deploy enhanced runtime capabilities (including breaking changes) without a hard fork. Because the definition of the runtime is itself an element in a Substrate chain's state, network participants may update this value by way of an extrinsic.
Vara, built on the Substrate blockchain development framework, offers a solution with forkless runtime upgrades. Substrate enables the deployment of enhanced runtime capabilities, introducing breaking changes without a hard fork. This is possible because the runtime definition is a component of a Substrate chain's state, allowing network participants to update it through an extrinsic.
6 changes: 3 additions & 3 deletions docs/account/create-account.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The Vara Network is Substrate-based, which means that any keypair compatible wit
## Key information and security

For most users, the use of popular and reliable wallets will be enough.
If you need to create a cold wallet for storing funds, then you should pay attention to [Polkadot Vault](polkadot-vault.mdx) (previously Parity Signer). In the future we will also add Ledger support.
If you need to create a cold wallet for storing funds, then you should pay attention to [Polkadot Vault](polkadot-vault.mdx) (previously Parity Signer). The Ledger support is expected later.

There are two key features that make up an account - an address and a key (keypair):

Expand All @@ -26,7 +26,7 @@ Your seed phrase is the key to your account. If you lose access to your account,

We recommend that you store your seed in secure places like encrypted hard drives, non-digital devices or ideally, paper. We also recommend that you take other safety precautions to prevent this copy from physical damage, for example fire and water, and make multiple copies stored in different locations.

You should never store your seed on a device that is, or ever will be, connected to the internet.
You should never store your seed on a device that is or ever will be connected to the internet.

### Storing your accounts JSON file

Expand Down Expand Up @@ -163,7 +163,7 @@ And then `import` the generated seed phrase into any convenient wallet.
#### Does vara support hard wallets?

> Yes! At the moment Vara supports [Parity Signer](polkadot-vault.mdx). Also in the future we will support Ledger.
> Yes! At the moment Vara supports [Parity Signer](polkadot-vault.mdx). The Ledger support is expected later.
#### How to get your address in the Vara Network format?

Expand Down
22 changes: 11 additions & 11 deletions docs/build/build.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: Building Smart Contracts
title: Building programs
sidebar_position: 1
sidebar_label: Building Smart Contracts
sidebar_label: Building programs
---

To get started with writing smart contracts on the Gear Protocol and uploading them to the Vara Network, you will need specific prerequisites and tools. The Gear Team offers a centralized resource known as the **[Gear Wiki](https://wiki.gear-tech.io/)**, which serves as a single point of knowledge.
To get started with writing programs on the Gear Protocol and uploading them to the Vara Network, you will need specific prerequisites and tools. Gear offers a centralized resource known as the **[Gear Wiki](https://wiki.gear-tech.io/)**, which serves as a single point of knowledge.

For a quick overview of writing and running smart contracts on Gear-powered networks, you can refer to [this guide](https://wiki.gear-tech.io/docs/getting-started-in-5-minutes). It walks you through the process of writing a smart contract, compiling it to Wasm, and deploying it to the Vara Network within just 5 minutes.
For a quick overview of writing and running programs on Gear-powered networks, you can refer to [this guide](https://wiki.gear-tech.io/docs/getting-started-in-5-minutes). It walks you through writing a program, compiling it to Wasm and deploying it to the Vara Network within just 5 minutes.

## Gear Protocol's library

Expand All @@ -18,7 +18,7 @@ For detailed information on developing dApps on the Gear Protocol, check out [th

## Gear Node

Gear Node provides a runtime that assists smart contract developers in implementation and testing (personal node) while also enabling participation in the Vara Network as validators.
Gear Node provides a runtime that assists program developers in implementation and testing (personal node) while also enabling participation in the Vara Network as validators.

Anyone can either compile a Gear node on their own or download the prebuilt binary (nightly build). From a functional standpoint, it doesn't matter whether it was downloaded or built manually.
The Node can be built, installed, and run on Linux, Mac, and Windows operating systems.
Expand All @@ -27,22 +27,22 @@ For detailed instructions on installing and running the Gear Node, as well as ke

## Gear-JS API

The Gear-JS API provides a range of utilities, libraries, and tools that enable JavaScript applications to interact with smart contracts running on the Vara Network via queries to a Gear Node.
The Gear-JS API provides a range of utilities, libraries, and tools that enable JavaScript applications to interact with programs running on the Vara Network via queries to a Gear Node.

The basic API is implemented on the Substrate layer and remains consistent across all Substrate-based networks. It enables connection to a local or remote node, get node info, subscribe to events etc. The main capabilities of Gear-JS API are - working with the program's metadata, calculating gas required for network operations, uploading programs in the network, sending a message or a reply to a program, reading program's state, getting messages from the user's mailbox and more.

To learn more about implementing your web application to interact with smart contracts on the Vara Network, check out [this resource](https://wiki.gear-tech.io/docs/api/getting-started).
To learn more about implementing your web application to interact with programs on the Vara Network, check out [this resource](https://wiki.gear-tech.io/docs/api/getting-started).

## Gear Idea

**[Gear Idea](https://idea.gear-tech.io/)** is a convenient tool that allows smart contract developers to easily and swiftly upload smart contracts to a Vara Network directly through their browser without additional configuration.
**[Gear Idea](https://idea.gear-tech.io/)** is a convenient tool that allows program developers to easily and swiftly upload programs to a Vara Network directly through their browser without additional configuration.

For development and testing purposes, the Gear Idea can be connected to any supported Gear-based networks, including Test-Networks (public or private) or even a localhost Gear Node.

This application encompasses all the interactions with smart contracts in Gear Networks, such as uploading new smart contracts, sending messages to contracts, and receiving responses. The Idea also facilitates account and balance management, observation of transaction events, working with various wallets, and more.
This application encompasses all the interactions with programs in Gear Networks, such as uploading new programs, sending messages to contracts, and receiving responses. The Idea also facilitates account and balance management, observation of transaction events, working with various wallets, and more.

## Smart Contract Examples
## Program Examples

The Gear Team has implemented numerous examples for various use cases. These examples serve as useful references for getting acquainted with writing programs on the Gear Protocol or as a foundation for your own dApp. They can be utilized as they are or modified to suit your specific scenarios.

For more details on Smart Contract Examples, you can visit this [link](https://wiki.gear-tech.io/docs/examples/prerequisites), and the source code is available on [GitHub](https://github.com/gear-foundation).
For more details on Program Examples, you can visit this [link](https://wiki.gear-tech.io/docs/examples/prerequisites), and the source code is available on [GitHub](https://github.com/gear-foundation).
Loading

0 comments on commit cb7200a

Please sign in to comment.