GEP for 3.12 on Mainnet

Dear friends,

After successful testing of TF Grid 3.12 on testnet, we are ready to start the release process of this version of the Grid on Mainnet.

For this to pass, we would need the farmers to vote before Monday December 11th at 10AM CEST on the dashboard under ‘DAO’.

Here’s what’s new and improved on TF Grid 3.12:

The user interface has undergone a series of noteworthy improvements, resulting in an overall enhanced user experience. In addition, certain documentation has been updated to ensure clarity for users, such as Presearch, Nextcloud, and others.

Notable User Interface refinements include:

  • Significant focus has been directed toward reinforcing the validations applied to various fields within the user interface.
  • Warnings have been added to provide enhanced clarity to users.

Assigning domains to your workload New

More enhancements

We are still improving the UI/UX around the product by rearranging things and using better defaults and guide the user whenever possible

UI Packages

We started development of generic components that can be used generically anywhere, and well integrated with our in-progress threefold browser extension for example

  • Pdf Signer

    The PDF Signer Web Component simplifies the process of signing PDF documents and sending them to a specified endpoint. This user-friendly PDF viewer is designed to make PDF signing and processing straightforward for your web applications.

    • Example of usage

      <!-- Use the pdf-signer custom element with required attributes -->
          <pdf-signer
            dest="http://localhost:3000/"
            pdfUrl="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf"
            network="main"
          />
      
      • dest: The destination where the signed script should be sent.
      • pdfUrl: This is the PDF URL you want to sign its content.
      • network: This is required only if you decide to use the threefoldConnectorProvider. It points to the network of your account in the extension.
  • Script Editor

    The Script Editor Web Component is a powerful tool that enables developers to seamlessly integrate a code editor into their web applications. It offers essential features such as script management and code copying, making it an ideal choice for building code-related applications or platforms.

    • Example of usage

      <!-- Use the script-editor custom element with required attributes -->
          <script-editor dest="http://localhost:3000/" network="main" />
      
      • dest: The destination where the signed script should be sent.
      • network: This is required only if you decide to use the threefoldConnectorProvider. It points to the network of your account in the extension.

Zos

New flist format

this allows decentralization of the hub, where people can host their own flists and serve it from anywhere https://github.com/threefoldtech/rfs/issues/23 we are also working right now on S3 Backend support as well

performance tests

The upcoming version of zos is taking another step towards increasing the reliability of the grid, by executing different kinds of tests that can give more visibility on the status of the node and the grid overall, and exposing that for end-users to process that information as they see fit

we do different kinds of tests including

  • udp, tcp tests for the network reliability of the node against freefarm and 12 other random nodes
  • upload/download tests
  • cpu benchmarking tests

here’s an example go program to retrieve the tests results

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	substrate "github.com/threefoldtech/tfchain/clients/tfchain-client-go"
	"github.com/threefoldtech/tfgrid-sdk-go/rmb-sdk-go/direct"
)

func main() {
	// enter yours here
	mnemonic := ""
	nodeTwin := 0

	subManager := substrate.NewManager("wss://tfchain.dev.grid.tf/ws")
	sub, err := subManager.Substrate()
	if err != nil {
		fmt.Println("failed to connect to substrate: %w", err)

		os.Exit(1)

	}

	defer sub.Close()
	client, err := direct.NewRpcClient(context.Background(), direct.KeyTypeSr25519, mnemonic, "wss://relay.dev.grid.tf", "test-client", sub, false)
	if err != nil {
		fmt.Println("failed to create direct client: %w", err)
		os.Exit(1)
	}

	var result interface{}
	fmt.Println("calling")
	err = client.Call(context.Background(), uint32(nodeTwin), "zos.perf.get_all", "", &result)
	if err != nil {
		fmt.Println("failed calling")
		os.Exit(1)

	}

	res, err := json.MarshalIndent(result, "", "    ")
	if err != nil {
		fmt.Println("failed pretty printing")
		os.Exit(1)

	}

	fmt.Printf("result: %v\n", string(res))
}

Make sure to change the mnemonic to yours and nodeTwin to the node you want to check

Issues

RMB

There was a major work happening on the redundancy support, you can read all about it here https://github.com/threefoldtech/rmb-rs/blob/0/main/docs/readme.md

Pulumi

Also, pulumi integration is coming up! it’s published already on the registry

All of the component versions can be found on our Github repo.

Please make sure to vote so that these new features can be released on Mainnet.

In the meantime, the team is also working hard on developing and testing the new features for TFGrid 3.13.

Kind regards,

Sabrina
On behalf of the ThreeFold Team

4 Likes