development to main update with manual #65

Merged
mik-tf merged 43 commits from development into main 2024-05-13 17:18:23 +00:00
7 changed files with 25 additions and 16 deletions
Showing only changes of commit 4c46250d46 - Show all commits

View File

@ -60,13 +60,13 @@ For complementary information on the technology developed by ThreeFold, refer to
- [Production](production.md) - [Production](production.md)
- [Release](release.md) - [Release](release.md)
- [Flist](flist.md) - [Flist](flist.md)
- [ThreeFold Hub Intro](flist_hub/zos_hub.md) - [ThreeFold Hub Intro](zos_hub.md)
- [Generate an API Token](flist_hub/api_token.md) - [Generate an API Token](api_token.md)
- [Convert Docker Image Into Flist](flist_hub/convert_docker_image.md) - [Convert Docker Image Into Flist](convert_docker_image.md)
- [Supported Flists](grid3_supported_flists.md) - [Supported Flists](grid3_supported_flists.md)
- [Flist Case Studies](flist_case_studies/flist_case_studies.md) - [Flist Case Studies](flist_case_studies.md)
- [Case Study: Debian 12](flist_case_studies/flist_debian_case_study.md) - [Case Study: Debian 12](flist_debian_case_study.md)
- [Case Study: Nextcloud AIO](flist_case_studies/flist_nextcloud_case_study.md) - [Case Study: Nextcloud AIO](flist_nextcloud_case_study.md)
- [Internals](internals.md) - [Internals](internals.md)
- [Reliable Message Bus (RMB)](rmb_toc.md) - [Reliable Message Bus (RMB)](rmb_toc.md)
- [Introduction to RMB](rmb_intro.md) - [Introduction to RMB](rmb_intro.md)

View File

@ -20,7 +20,7 @@ To install Golang, you can follow the official [guide](https://go.dev/doc/instal
## Docker ## Docker
Docker is useful for running the TFGridDb in container environment. Read this to [install Docker engine](system_administrators@@docker_basics#install-docker-desktop-and-docker-engine). Docker is useful for running the TFGridDb in container environment. Read this to [install Docker engine](system_administrators@@docker_basics).
Note: it will be necessary to follow step #2 in the previous article to run docker without sudo. if you want to avoid that. edit the docker commands in the `Makefile` and add sudo. Note: it will be necessary to follow step #2 in the previous article to run docker without sudo. if you want to avoid that. edit the docker commands in the `Makefile` and add sudo.

View File

@ -68,7 +68,7 @@ Every contract is billed every 1 hour on the chain, the amount that is due is de
- 50% goes to certified sales channel - 50% goes to certified sales channel
- 35% TFT gets burned - 35% TFT gets burned
See [pricing](../../../knowledge_base/cloud/pricing/pricing.md) for more information on how the cost for a contract is calculated. See [pricing](cloud@@pricing) for more information on how the cost for a contract is calculated.
## Contract locking ## Contract locking
@ -80,7 +80,7 @@ When the owner of a contract runs out funds on his wallet to pay for his deploym
## DAO ## DAO
See [DAO](../../dashboard/tfchain/tf_dao.md) for more information on the DAO on TF Chain. See [DAO](dashboard@@tf_dao) for more information on the DAO on TF Chain.
## Farming Policies ## Farming Policies

View File

@ -45,7 +45,7 @@ It is the backbone of [ZOS](https://github.com/threefoldtech/zos) and other comp
A twin is a unique identifier linked to a specific account on a given TFChain network. A twin is a unique identifier linked to a specific account on a given TFChain network.
Actually there are 2 ways to create a twin: Actually there are 2 ways to create a twin:
- With the [Dashboard](../../dashboard/wallet_connector.md) - With the [Dashboard](dashboard@@wallet_connector)
- a twin is automatically generated while creating a TFChain account - a twin is automatically generated while creating a TFChain account
- With the TFConnect app - With the TFConnect app
- a twin is automatically generated while creating a farm (in this case the twin will be created on mainnet) - a twin is automatically generated while creating a farm (in this case the twin will be created on mainnet)

View File

@ -2,10 +2,19 @@
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
- [Introduction](#introduction) - [Introduction](#introduction)
- [Step 1: Create the contract and get its unique ID](#step-1-create-contract--get-unique-id) - [Step 1: Create contract / Get unique ID](#step-1-create-contract--get-unique-id)
- [Create service contract](#create-service-contract)
- [Last service contract ID](#last-service-contract-id)
- [Parse service contract](#parse-service-contract)
- [Wrong contract ID ?](#wrong-contract-id-)
- [Step 2: Fill contract](#step-2-fill-contract) - [Step 2: Fill contract](#step-2-fill-contract)
- [Step 3: Both parties approve contract](#step-3-both-parties-approve-contract) - [Step 3: Both parties approve contract](#step-3-both-parties-approve-contract)
- [Step 4: Bill for the service](#step-4-bill-for-the-service) - [Step 4: Bill for the service](#step-4-bill-for-the-service)
- [Send bill to consumer](#send-bill-to-consumer)
- [Billing frequency](#billing-frequency)
- [Amount due calculation](#amount-due-calculation)
- [Protection against draining](#protection-against-draining)
- [Billing considerations](#billing-considerations)
- [Step 5: Cancel the contract](#step-5-cancel-the-contract) - [Step 5: Cancel the contract](#step-5-cancel-the-contract)
*** ***
@ -19,12 +28,12 @@ The initial scenario is when two parties, a service provider and a consumer of t
This is actually a more direct and generic feature if we compare to the initial rewarding model where a service provider (or solution provider) is receiving TFT from a rewards distribution process, linked to a node contract and based on a cloud capacity consumption, which follows specific billing rules. This is actually a more direct and generic feature if we compare to the initial rewarding model where a service provider (or solution provider) is receiving TFT from a rewards distribution process, linked to a node contract and based on a cloud capacity consumption, which follows specific billing rules.
The initial requirements are: The initial requirements are:
- Both service and consumer need to have their respective twin created on TFChain (if not, see [here](tfchain.md#create-a-tfchain-twin) how to do it) - Both service and consumer need to have their respective twin created on TFChain (if not, see [here](dev_tfchain.md#create-a-tfchain-twin) how to do it)
- Consumer account needs to be funded (lack of funds will simply result in the contract cancelation while billed) - Consumer account needs to be funded (lack of funds will simply result in the contract cancelation while billed)
In the following steps we detail the sequence of extrinsics that need to be called in TFChain Polkadot portal for setting up and executing such contract. In the following steps we detail the sequence of extrinsics that need to be called in TFChain Polkadot portal for setting up and executing such contract.
<!-- We also show how to check if everything is going the right way via the TFChain GraphQL interface. --> <!-- We also show how to check if everything is going the right way via the TFChain GraphQL interface. -->
Make sure to use right [links](tfchain.md#deployed-instances) depending on the targeted network. Make sure to use right [links](dev_tfchain.md#deployed-instances) depending on the targeted network.
# Step 1: Create contract / Get unique ID # Step 1: Create contract / Get unique ID
@ -55,7 +64,7 @@ Check if the contract fields are correct, especially the twin ID of both service
## Wrong contract ID ? ## Wrong contract ID ?
If twin IDs are wrong ([how to get my twin ID?](tfchain.md#get-your-twin-id)) on service contract fields it means the contract does not correspond to the last created contract. If twin IDs are wrong ([how to get my twin ID?](dev_tfchain.md#get-your-twin-id)) on service contract fields it means the contract does not correspond to the last created contract.
In this case parse the last contracts on stack by decreasing `serviceContractId` and try to identify the right one; or the contract was simply not created so you should repeat the creation process and evaluate the error log. In this case parse the last contracts on stack by decreasing `serviceContractId` and try to identify the right one; or the contract was simply not created so you should repeat the creation process and evaluate the error log.

View File

@ -2,7 +2,7 @@
TFROBOT (`tfrobot`) is a command line interface tool that offers simultaneous mass deployment of groups of VMs on the ThreeFold Grid, with support of multiple retries for failed deployments, and customizable configurations, where you can define node groups, VMs groups and other configurations through a YAML or a JSON file. TFROBOT (`tfrobot`) is a command line interface tool that offers simultaneous mass deployment of groups of VMs on the ThreeFold Grid, with support of multiple retries for failed deployments, and customizable configurations, where you can define node groups, VMs groups and other configurations through a YAML or a JSON file.
Consult the [ThreeFoldTech TFROBOT repository](https://github.com/threefoldtech/tfgrid-sdk-go/tree/development/tfrobot) for the latest updates and read the [basics](../../system_administrators/getstarted/tfgrid3_getstarted.md) to get up to speed if needed. Consult the [ThreeFoldTech TFROBOT repository](https://github.com/threefoldtech/tfgrid-sdk-go/tree/development/tfrobot) for the latest updates and read the [basics](system_administrators@@tfgrid3_getstarted) to get up to speed if needed.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>

View File

@ -56,4 +56,4 @@ The TFCMD tool works well with TFROBOT, as it can be used to query the TFGrid, f
tfcmd get contracts tfcmd get contracts
``` ```
For more information on TFCMD, [read the documentation](../tfcmd/tfcmd.md). For more information on TFCMD, [read the documentation](tfcmd.md).