Skip to content

Commit

Permalink
Fix broken links (everscale-org#363)
Browse files Browse the repository at this point in the history
  • Loading branch information
qwadratic authored Sep 11, 2023
1 parent 223a162 commit 1f74278
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 44 deletions.
30 changes: 6 additions & 24 deletions src/contribute/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,47 +4,29 @@ sidebar_position: 0

# Getting started

Since Everscale was created on the principles of decentralization, the management and development of the network is completely decentralized thanks to its community.
Since Everscale was created on the principles of decentralization, the management and development of the network are completely decentralized thanks to its community.

This section provides ways to improve the network by bringing something new to Everscale.

## Everscale Grants

Everscale Grants is a campaign that aims to attract promising IT projects that can contribute to the Everscale ecosystem's growth.

Approved projects receive not only financial, but also technical and marketing support.
Approved projects receive not only financial but also technical and marketing support.

The formation and distribution of grants is handled by DeFi Alliance.
The formation and distribution of grants are handled by DeFi Alliance.

DeFi Alliance is a business combination that creates the necessary infrastructure to attract teams and projects, raises liquidity from other projects in Everscale, and builds partnerships with large companies with large amounts of liquidity.

To apply, use the [form](https://everscale.network/developers/grants/application) on the [Everscale Grants page](https://everscale.network/developers/grants) on the [network's website](https://everscale.network/) or Everscale DeFi Alliance[corresponding page](https://everalliance.org/apply-for-grant/) of their [official website](https://everalliance.org/).
To apply, use the form on the [Everscale Grants page](https://everscale.network/grants) on the [network's website](https://everscale.network/) or Everscale DeFi Alliance [corresponding page](https://everalliance.org/apply-for-grant/) of their [official website](https://everalliance.org/).

## Contests

Contests are a way to develop and support Everscale, as well as a way that the network’s meritocratic coin distribution model is put into practice.

Contests are held in various areas, such as programming, design, SMM, PR, and so on. Some of them are aimed at technically improving operation, while others are to increase awareness of the blockchain and attract new users.

Everscale's management is divided into subgovernances – groups of people, each of which is responsible for a certain type of activity and contests within Everscale. Members of the subgovernances receive a portion of tokens for community development, contests, etc.

Prizes for first place sometimes reach 500,000 EVER and average between 10,000 and 100,000 EVER.

Check out active and completed contests at [EverKit Governance](https://gov.everkit.org/).

## EVER DAO

[EVER DAO](https://everdao.net) is a decentralized governance platform that allows EVER (wEVER) token holders to vote on proposals relating to the Everscale network. Community members can express their will and opinion on significant network events in a transparent and verifiable way.

To participate in voting, you must have a certain stake EVER, which will be equivalent to the strength of your vote.

## EverStart

[EverStart](https://everstart.io/) - is a DAO-managed multi-chain launcher for connecting to curated projects.
[EVER DAO](https://everdao.net) is a decentralized governance platform that allows EVER (wEVER) token holders to vote on proposals relating to the Everscale network. Community members can express their will and opinions on significant network events in a transparent and verifiable way.

This is the first Everscale blockchain launchpad, thanks to which the community has the opportunity not only to decide which project is worthy of being in the network ecosystem, but also to benefit from its further development through vesting.
To participate in voting, you must have a certain stake WEVER, which will be equivalent to the strength of your vote.

(DAO mechanism not launched yet).

## Octus Bridge DAO

Expand Down
6 changes: 3 additions & 3 deletions src/overview/infinite-scalability.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 2

![](img/Two_spheres2.jpg)

Everscale’s infinite scalability has been envisioned in its architecture since inception. It is achieved by the means of dynamic sharding, described in detail in the [technical whitepaper](https://everscale.network/docs/everscale-whitepaper.pdf). The reason for scalability was primarily dictated by the blockchain's goal to accommodate a billion or even more users. Consequently, such a large customer base requires a high volume of transaction processing per second.
Everscale’s infinite scalability has been envisioned in its architecture since its inception. It is achieved by means of dynamic sharding, described in detail in the [technical whitepaper](https://everscale.network/files/Everscale_Whitepaper.pdf). The reason for scalability was primarily dictated by the blockchain's goal to accommodate a billion or even more users. Consequently, such a large customer base requires a high volume of transaction processing per second.

This approach comes in contrast to the one Ethereum took, resorting to scalability just recently. The decision to scale was triggered by capacity limitations and high transaction costs. However, despite strong efforts, Ethereum is not yet successful. There are many solutions being researched and tested, such as rollups and different sharding approaches. The results remain to be seen in practice.

Expand All @@ -20,11 +20,11 @@ Everscale scales the network via a combination of both data sharding (workchains

The Everscale network is split into data shards called workchains. Each election cycle, the global set of validators rotate and are assigned to a workchain. Validators store data and process transactions only for their assigned workchain. As long as validators download blocks of other workchains and update their state based on the changes that occurred, all workchains can run in conjunction.

As of now, Everscale is comprised of two global shards: the **masterchain** and the **main workchain**. Everscale’s architecture can potentially accommodate up to 2^32 workchains. Each newly created workchain can have its own configuration parameters, virtual machine and native currency,
As of now, Everscale is comprised of two global shards: the **masterchain** and the **main workchain**. Everscale’s architecture can potentially accommodate up to 2^32 workchains. Each newly created workchain can have its own configuration parameters, virtual machine, and native currency,

![](img/network-architecture.gif)

The **masterchain** is for the synchronization of messages and transaction execution. That is to say, for a multi-chain network to securely operate, the nodes need to reach consensus. On Everscale, all workchain **block proofs** are posted to the masterchain. The blocks of the masterchain contain the latest block hashes of all other chains in the network. The **main workchain**, on the other hand, consists of smart contracts and is used for transactions. Each workchain, on its part, is split into execution shards called **threads**. Threads contain a chunk of the network’s total number of smart contracts. Validators rotate through the assigned threads and process the transactions only in their thread. The number of threads varies from 1 to 256, depending on the network activity. Such a multithreading approach allows for parallel execution of smart contracts by subgroups of validators that share the same data.
The **masterchain** is for the synchronization of messages and transaction execution. That is to say, for a multi-chain network to securely operate, the nodes need to reach a consensus. On Everscale, all workchain **block proofs** are posted to the masterchain. The blocks of the masterchain contain the latest block hashes of all other chains in the network. The **main workchain**, on the other hand, consists of smart contracts and is used for transactions. Each workchain, on its part, is split into execution shards called **threads**. Threads contain a chunk of the network’s total number of smart contracts. Validators rotate through the assigned threads and process the transactions only in their thread. The number of threads varies from 1 to 256, depending on the network activity. Such a multithreading approach allows for parallel execution of smart contracts by subgroups of validators that share the same data.

![](img/Everscale_s-parallel-smart-contracts-execution_1-50.gif)

Expand Down
15 changes: 8 additions & 7 deletions src/overview/lore.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar_position: 4

**2017**

- Pavel Durov develops the concept of TON - Telegram Open Network. The project is inextricably linked with Telegram Messenger, with plans to integrate the Gram cryptocurrency.
- Pavel Durov developed the concept of TON - Telegram Open Network. The project is inextricably linked with Telegram Messenger, with plans to integrate the Gram cryptocurrency.

**2018**

Expand All @@ -18,27 +18,28 @@ sidebar_position: 4

- EverX (ex. TON Labs) launches the first EVER blockchain with proof of authority consensus algorithm (PoA).
- EverX launches the alpha version of TON OS.
- TON test portals for developers with official project specifications are opened - [https://test.ton.org/](https://test.ton.org/), and [https://test.ton.org/testnet/](https://test.ton.org/testnet/) TON network explorer is available, displaying the first hundreds of working nodes of the network. The U.S. Securities and Exchange Commission (SEC) demands a ban on the issuance of Gram. The SEC, in its report, recognizes Gram as security (not a commodity or utility token) and that Gram issue itself violates securities laws.EverX launches its own TON testnet.
- TON portal for developers with official project specifications is opened - [https://test.ton.org/](https://test.ton.org/).
- The U.S. Securities and Exchange Commission (SEC) demands a ban on the issuance of Gram. The SEC, in its report, recognizes Gram as a security (not a commodity or utility token) and that Gram's issue itself violates securities laws.EverX launches its own TON testnet.

**2020**

- The SEC interrogates Pavel Durov about TON ICO. The interrogation tooks place in Dubai, UAE. The American regulator is trying to find out why Durov launched the ICO, how much money he spent on Telegram and TON, and why the Gram token is not a security. Durov replied that the money was needed to buy equipment and maintain the blockchain platform, and that Gram was a utility token, not a security.Telegram challenges the U.S. court ban on transferring Gram tokens to investors. The court of the Southern District of New York State in a preliminary decision agrees with the SEC's opinion that the project's cryptocurrency is a security. The U.S. authorities claim that investors purchased coins to sell on the secondary market to earn money.
- The SEC interrogates Pavel Durov about TON ICO. The interrogation took place in Dubai, UAE. The American regulator is trying to find out why Durov launched the ICO, how much money he spent on Telegram and TON, and why the Gram token is not a security. Durov replied that the money was needed to buy equipment and maintain the blockchain platform and that Gram was a utility token, not a security. Telegram challenges the U.S. court ban on transferring Gram tokens to investors. The court of the Southern District of New York State in a preliminary decision agrees with the SEC's opinion that the project's cryptocurrency is a security. The U.S. authorities claim that investors purchased coins to sell on the secondary market to earn money.
- Pavel Durov announced on his Telegram channel that he is closing the TON blockchain project. According to Pavel Durov, Telegram's participation in TON development is over. He urged users not to trust money or data to projects that use the name of the messenger or the platform.EverX participates in the community launch of the Free TON blockchain as the core developer.
- Free TON Community, composed of developers and potential TON users, launches the Free TON blockchain platform. Instead of Gram, participants get tokens called TON Crystal. To become a community member, you need to sign the Free TON Declaration of Decentralization.

**2021**

- Everscale achieves world record throughput - 64 000 transactions per second.-Free TON announces the ecosystem rebrand to Everscale. The new brand identity comes as the network prepares to migrate from C++ to the Rust programming language, enabling unmatched scalability and throughput capable of bringing the world on-chain.
- Everscale achieves world record throughput - 64,000 transactions per second.
- Free TON announces the ecosystem rebrand to Everscale. The new brand identity comes as the network prepares to migrate from C++ to the Rust programming language, enabling unmatched scalability and throughput capable of bringing the world on-chain.

**2022**

- REMP (reliable external messaging protocol) is released ahead of schedule. The protocol is included in the Everscale SDK.
- REMP (reliable external messaging protocol) is in the active R&D phase. REMP support is included in the Everscale SDK.
- The introduction of a set of economic measures to help EVER get into the top 10 by Coinmarketcap.
- The partnership with DA5 to launch the Philippine blockchain remittance service - marking the first step in Everscale’s rollout of products on the Asian market.
- The establishment of new development priorities - CBDCs and enterprise solutions. Everscale aims to achieve a high market share in these promising niches.

**2023**

- The partnership with Venom - a blockchain licensed by Abu Dhabi Global Market (ADGM).

- **More partnerships, integrations and technical upgradings coming.**
- **More partnerships, integrations, and technical upgrades coming.**
20 changes: 10 additions & 10 deletions src/spec/10-abi.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ title: ABI Specification

# Smart Contracts ABI v2.3 Specification

ABI specifies message bodies layout for client to contract and contract to contract interaction.
ABI specifies message body layout for client-to-contract and contract-to-contract interactions.

## Introduction

In Everscale client to contract and contract to contract interaction occurs through external and internal messages respectively.
In Everscale, client-to-contract and contract-to-contract interaction occurs through external and internal messages respectively.

ABI specification describes the structure of body of these messages. ABI stored as JSON serves as an interface for smart contracts and is used when calling contract methods externally or on-chain.
ABI specification describes the structure of the body of these messages. ABI stored as JSON serves as an interface for smart contracts and is used when calling contract methods externally or on-chain.

The goal of the ABI specification is to design ABI types that are cheap to read to reduce gas consumption and gas costs. Some types are optimized for storing without write access.

Expand All @@ -22,7 +22,7 @@ Message body with encoded function call has the following format:

`Maybe(Signature)` + `Enc(Header)` +`Function ID` + `Enc(Arguments)`

First comes an optional signature. It is prefixed by one bit flag that indicates the signature presence. If it is `1`, then in the next `512 bit` a signature is placed, otherwise the signature is omitted.
First comes an optional signature. It is prefixed by a one-bit flag that indicates the signature presence. If it is `1`, then in the next `512 bit` a signature is placed, otherwise, the signature is omitted.

Then comes the encoded header parameters set (same for all functions).

Expand Down Expand Up @@ -50,34 +50,34 @@ Events are encoded as follows:

`Event ID` + `Enc(event args)`

`Event ID` - 32 bits of SHA256 hash of the event function signature with highest bit set to `0`.
`Event ID` - 32 bits of SHA256 hash of the event function signature with the highest bit set to `0`.

### Internal Messages

Internal messages are used for contract-to-contract interaction; they have the following body format:

`Function ID` + `Enc(Arguments)`

`Function ID` - 32 bits function id calculated as first 32 bits SHA256 hash of the function signature. The highest bit of function ID is `0`. Internal messages contain only function calls and no responses.
`Function ID` - 32 bits functionID calculated as the first 32 bits SHA256 hash of the function signature. The highest bit of function ID is `0`. Internal messages contain only function calls and no responses.

## Message Body Signing

The message body can be protected with a cryptographic signature to identify a user outside the blockchain. In this case, an *External inbound message* that calls the function carries a user *private key* signature. This requirement applies only to *External inbound messages* because *Internal inbound messages* are generated within the blockchain, and *src address* can be used to identify the caller.

If a user does not want to sign a message, bit `0` should be placed to the root cell start and signature omitted.

The message body signature is generated from the *representation hash* of the bag of cells following the signature prepended with src address.
The message body signature is generated from the *representation hash* of the bag of cells following the signature prepended with the source address.

## Signing Algorithm

1. ABI serialization generates bag of cells containing header parameters, function ID and function parameters.
591 free bits are reserved in the root cell for destination address ([the maximum size of address](#address)).
1. ABI serialization generates a bag of cells containing header parameters, function ID, and function parameters.
591 free bits are reserved in the root cell for the destination address ([the maximum size of address](#address)).
2. The root cell data is prepended with actual destination address data without padding to maximum size.
3. *Representation hash* of the bag is signed using the *Ed25519* algorithm.
4. Address data is removed from the root cell and replaced with bit `1` followed by 512 bits of the signature.

:::note
This functionality is added since `ABI v2.3` and supported staring with [0.64.0](https://github.com/tonlabs/TON-Solidity-Compiler/blob/master/Changelog_TON.md#0640-2022-08-18) version of the Solidity compiler.
This functionality has been added since `ABI v2.3` and supported starting with [0.64.0](https://github.com/tonlabs/TON-Solidity-Compiler/blob/master/Changelog.md#0640-2022-08-18) version of the Solidity compiler.
:::

## Function Signature (Function ID)
Expand Down

0 comments on commit 1f74278

Please sign in to comment.