Skip to content

Commit

Permalink
Merge pull request #431 from reveloper/weekly_update_47
Browse files Browse the repository at this point in the history
Weekly update 47
  • Loading branch information
reveloper authored Nov 27, 2023
2 parents 22fd86f + a7b93a9 commit f035482
Show file tree
Hide file tree
Showing 13 changed files with 650 additions and 16 deletions.
92 changes: 92 additions & 0 deletions docs/contribute/docs/schemes-guidelines.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import ConceptImage from '@site/src/components/conceptImage';
import ThemedImage from '@theme/ThemedImage';

# Graphic Explanations Guidelines

Maintaining consistency in documentation is crucial, and to achieve this, a specific standard for visualizing processes in smart contracts has been developed.

## Graphic Explanation Notation

### Message Processing Graph

To depict message processing, it's advisable to utilize a graphical representation resembling a smart contract graph, complete with labels for transactions and messages.

If the order of transactions doesn't matter, you can omit their labels. This simplifies the diagram, making it easier to read and understand the details related to messages and contracts.

#### Annotation Primitives

|Figure|Description|
|------|-----------|
|![](/img/docs/scheme-templates/message-processing-graphs/circle_for_smart_contract.svg?raw=true) | Circle - Smart Contract entity |
|![](/img/docs/scheme-templates/message-processing-graphs/rectangle_for_regular_message.svg?raw=true) | Rectangle - Message Entity |
|![](/img/docs/scheme-templates/message-processing-graphs/dashed_rectgl_for_optional_message.svg?raw=true) | Dashed Rectangle - Optional Message Entity |
|![](/img/docs/scheme-templates/message-processing-graphs/line_for_transaction.svg?raw=true) | Transactions (numeration optional)|
|![](/img/docs/scheme-templates/message-processing-graphs/person_figure_for_actor.svg?raw=true) | Actor|

* Avoid using big quantity different and bright colors.
* Use the modification of figures, such as using a dashed border line.
* For better comprehension, different transactions could be displayed with distinct line styles (solid and dashed).


#### Message Processing Example

<br></br>
<ThemedImage
alt=""
sources={{
light: '/img/docs/message-delivery/message_delivery_2.svg?raw=true',
dark: '/img/docs/message-delivery/message_delivery_2.svg?raw=true',
}}
/>
<br></br>



Learn references directly from Visio [message-processing.vsdx](/static/schemes-visio/message-processing.vsdx).


### Formats and Colors

#### Fonts

* **Inter** fonts family for all text within diagrams.

#### Colors - Light Mode
* Pencil Hand Drawn(default theme)

#### Colors - Dark Mode
* Font `#e3e3e3`
* Background `#232328`
* Light Highlight(arrows and scheme borders) `#058dd2`
* Dark Highlight(arrows and scheme borders) `#0088cc`
* InnerBackGround(for nested blocks) `#333337`


#### Version Control Policy

* Set diagrams in the documentation by SVG format for schemes to ensure readability on various devices.
* Store original files in the project's Git repository under the "/static/visio" directory, making them easier to modify in the future.


### Sequence Diagram
In the case of complex and repetitive communication schemes between 2-3 actors, it is advisable to use a sequence diagram. For messages, use the notation of a common synchronous message arrow.

#### Example

<br></br>
<div class="text--center">
<ThemedImage
alt=""
sources={{
light: '/img/docs/message-delivery/message_delivery_7.svg?raw=true',
dark: '/img/docs/message-delivery/message_delivery_7.svg?raw=true',
}}
/>
</div>
<br></br>


### Scheme References

* [message-processing.vsdx](/schemes-visio/message_processing.vsdx)

8 changes: 7 additions & 1 deletion docs/develop/dapps/apis/toncenter.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,15 @@ To work with public TonCenter API you need an API key:
* Get an API key for Mainnet and Testnet: [@tonapibot](https://t.me/tonapibot)

## RPC Nodes

:::tip
[GetBlock Nodes](https://getblock.io/nodes/ton/) - 🚀 Instant Node installation with just a few clicks.
:::

* [GetBlock Nodes](https://getblock.io/nodes/ton/) — connect and test your dApps using GetBlocks Nodes
* [https://www.orbs.com/ton-access/](https://www.orbs.com/ton-access/) - HTTP API for The Open Network (TON).
* [https://toncenter.com/api/v2/](https://toncenter.com/api/v2/) — community-hosted project for Quick Start with API.
* [GetBlock Nodes](https://getblock.io/nodes/ton/) — connect and test your dApps using GetBlocks Nodes.
* [ton-node-docker](https://github.com/fmira21/ton-node-docker) - [⭐NEW] Docker Full Node and Toncenter API.
* [toncenter/ton-http-api](https://github.com/toncenter/ton-http-api) — run your own RPC node.
* [nownodes.io](https://nownodes.io/nodes) — NOWNodes full Nodes and blockbook Explorers via API.
* [Chainbase](https://chainbase.com/chainNetwork/TON) — Node API and data infrastructure for The Open Network.
Expand Down
32 changes: 17 additions & 15 deletions docs/develop/smart-contracts/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,23 @@ Make sure you have thoroughly tested contracts before using them in a production
## FunC Smart Contracts

### Production used Contracts
| Contracts | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [wallet-contract](https://github.com/ton-blockchain/wallet-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/wallet-contract&name=wallet-contract)</small> | Wallet v4 is proposed version of wallet to replace v3 or older wallets |
| [liquid-staking-contract](https://github.com/ton-blockchain/liquid-staking-contract/) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/liquid-staking-contract/&name=liquid-staking-contract)</small> | Liquid Staking (LSt) is a protocol that connects TON holders of all caliber with hardware node operators to participate in TON Blockchain validation through assets pooling.|
| [modern_jetton](https://github.com/EmelyanenkoK/modern_jetton) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/EmelyanenkoK/modern_jetton&name=modern_jetton)</small> | Implementation of standard jetton with additional withdraw_tons and withdraw_jettons. |
| [governance-contract](https://github.com/ton-blockchain/governance-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/governance-contract&name=governance-contract)</small> | Core TON Blockchain contracts `elector-code.fc` and `config-code.fc`. |
| [bridge-func](https://github.com/ton-blockchain/bridge-func) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/bridge-func&name=bridge-func)</small> | TON-EVM Toncoin Bridge. |
| [token-bridge-func](https://github.com/ton-blockchain/token-bridge-func) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/token-bridge-func&name=token-bridge-func)</small> | TON-EVM token bridge - FunC smart contracts. |
| [lockup-wallet-contract/universal](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal&name=lockup-wallet-contract/universal)</small> | Universal lockup wallet is contract that can store locked and restricted coins. |
| [lockup-wallet-contract/vesting](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/vesting) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/vesting&name=lockup-wallet-contract/vesting)</small> | Vesting wallet smart-contract |
| [multisig-contract](https://github.com/ton-blockchain/multisig-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/multisig-contract&name=multisig-contract)</small> | `(n, k)`-multisig wallet is a wallet with `n` private keys holders, which accepts requests to send messages if the request collects at least `k` signatures of the holders. |
| [token-contract](https://github.com/ton-blockchain/token-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/token-contract&name=token-contract)</small> | Fungible, Non-Fungible, Semi-Fungible Tokens Smart Contracts |
| [dns-contract](https://github.com/ton-blockchain/dns-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/dns-contract&name=dns-contract)</small> | Smart contracts of `.ton` zone. |
| [nominator-pool](https://github.com/ton-blockchain/nominator-pool) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/nominator-pool&name=nominator-pool)</small> | Nominator pool smart contract |
| [storage](https://github.com/ton-blockchain/ton/tree/master/storage/storage-daemon/smartcont) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/ton/tree/master/storage/storage-daemon/smartcont&name=storage)</small> | TON Storage provider and fabric contracts |
| Contracts | Description |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [wallet-contract](https://github.com/ton-blockchain/wallet-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/wallet-contract&name=wallet-contract)</small> | Wallet v4 is proposed version of wallet to replace v3 or older wallets |
| [liquid-staking-contract](https://github.com/ton-blockchain/liquid-staking-contract/) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/liquid-staking-contract/&name=liquid-staking-contract)</small> | Liquid Staking (LSt) is a protocol that connects TON holders of all caliber with hardware node operators to participate in TON Blockchain validation through assets pooling. |
| [modern_jetton](https://github.com/EmelyanenkoK/modern_jetton) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/EmelyanenkoK/modern_jetton&name=modern_jetton)</small> | Implementation of standard jetton with additional withdraw_tons and withdraw_jettons. |
| [governance-contract](https://github.com/ton-blockchain/governance-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/governance-contract&name=governance-contract)</small> | Core TON Blockchain contracts `elector-code.fc` and `config-code.fc`. |
| [bridge-func](https://github.com/ton-blockchain/bridge-func) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/bridge-func&name=bridge-func)</small> | TON-EVM Toncoin Bridge. |
| [token-bridge-func](https://github.com/ton-blockchain/token-bridge-func) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/token-bridge-func&name=token-bridge-func)</small> | TON-EVM token bridge - FunC smart contracts. |
| [lockup-wallet-contract/universal](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/universal&name=lockup-wallet-contract/universal)</small> | Universal lockup wallet is contract that can store locked and restricted coins. |
| [lockup-wallet-contract/vesting](https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/vesting) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/lockup-wallet-contract/tree/main/vesting&name=lockup-wallet-contract/vesting)</small> | Vesting wallet smart-contract |
| [multisig-contract](https://github.com/ton-blockchain/multisig-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/multisig-contract&name=multisig-contract)</small> | `(n, k)`-multisig wallet is a wallet with `n` private keys holders, which accepts requests to send messages if the request collects at least `k` signatures of the holders. |
| [token-contract](https://github.com/ton-blockchain/token-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/token-contract&name=token-contract)</small> | Fungible, Non-Fungible, Semi-Fungible Tokens Smart Contracts |
| [dns-contract](https://github.com/ton-blockchain/dns-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/dns-contract&name=dns-contract)</small> | Smart contracts of `.ton` zone. |
| [nominator-pool](https://github.com/ton-blockchain/nominator-pool) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/nominator-pool&name=nominator-pool)</small> | Nominator pool smart contract |
| [single-nominator-pool](https://github.com/orbs-network/single-nominator) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/nominator-pool&name=nominator-pool)</small> | Single Nominator Pool smart contract |
| [vesting-contract](https://github.com/ton-blockchain/vesting-contract) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/nominator-pool&name=nominator-pool)</small> | Nominator pool smart contract |
| [storage](https://github.com/ton-blockchain/ton/tree/master/storage/storage-daemon/smartcont) <br /> <small>🪄 [Run in WebIDE](https://ide.nujan.io/?importURL=https://github.com/ton-blockchain/ton/tree/master/storage/storage-daemon/smartcont&name=storage)</small> | TON Storage provider and fabric contracts |

### Ecosystem Contracts
| Contracts | Description |
Expand Down
Loading

0 comments on commit f035482

Please sign in to comment.