An Introduction and Explanation of the Threefold Playground

Setting Up Your Playground

      The Threefold Playground is a Decentralized, user facing interface that allows users who have little to no coding ability to access the resources that have been developed for the grid. This interface uses a Browser-Based Polkadot Extension to extend the users Blockchain identity to their browser allowing management of Industry-standard VPS deployments as well as use case specific tools that have been developed by the Decentralized Community interacting only with the Blockchain itself.

In order to access the play interface you will use the PolkdaDot-js Extension, Once you have this extension you will have a couple options on how to create your wallet,

  • If your strictly looking to deploy and have an existing stellar wallet, creating one in the browser extension is a great option.
  • Threefold also offers an integrated solution to your grid identities and wallets with the Threefold Connect App available for Android and IOS
    • Creating your wallet in the Threefold Connect App, then importing that wallet into a 3rd party interface allows you to manage all stellar based crypto currencies from one wallet address, the recovery phrase from threefold connect can also be imported into the Polkdaot-js basing all of your grid functions from a single wallet.

Once you have Created your wallet and imported it into the Polkdaot-js extension, you will visit the Threefold Dashboard Here you will Agree to the Grids Terms and Conditions and Create your Digital Twin, this is your identity on the grid and represents you as deployer or a farmer. This also will be the account that the TFT you intend to use for deployments will be held in. Once you have Accepted the Terms and Agreements you proceed to create your profile on the Playground

  • If you did not use the Threefold Connect App to create your wallet you will need to use Swap function on the dashboard to retrieve the stellar deposit address of your Digital twin. you can do this now while your on the dashboard, or you can do it after creating your deployment profile. be sure you use the address and memo for twin deposits

Once you arrive on the Playground you will click the gear in the top right icon and create your deployment profile, this is how the interface knows what Twin is creating and managing the deployments being created and you will need a couple pieces of information.

  • Profile Name: this will be the name of your deployment profile, you can have multiple profiles representing different wallets, solutions, or access levels,
  • Mnemonics: These are the words from the wallet you created in the extension or the threefold connect app.
  • Public SSH Key: This where you put the text of your .pub ssh key file that coincides with the private key you wish to access your deployments with. This key will be added to the known hosts of each deployment and typically represents how you will initially gain access to your deployment.

After Creating your profile, it will load the twin id you created in the Dashboard and generate a QR code that allows you to transfer your funds from the Threefold Connect App wallet onto your deployment profile. If you are using a third-party wallet the QR code may not be functional in your wallet, you can go to “swap” on the Dashboard and retrieve the Wallet address and memo for depositing to your twin from any stellar wallet address. be sure you use the address and memo for twin deposits

Deploying on the Threefold Playground

      With a Fully Setup Profile you now have access to deploy any of the VPS solutions available on the playground on one of thousands of nodes located across the world. The flagship deployment solution is the industry standard Ubuntu VPS Full VM. This solution provides you the ultimate flexibility to deploy your solutions on the grid’s hardware. with the recent addition of Full-VMs you can now truly say that if you can do it in Linux, you can do it on the grid. you can deploy your VPS when you need it, where you need it, and you can delete it at any time with no lasting commitment providing the ultimate environment for deployment testing and prototyping of cloud solutions.

The Playground is also host to several use case specific deployments that further automate the deployment process of end-user solutions on the Threefold Grid. Many of these solutions are designed to allow everyday users to contribute to other projects that share the vision of a decentralized world. The Threefold grid is designed to support decentralization, not compete with other forms, and is intended to provide a solid hosting support infrastructure to both crypto-currencies and otherwise decentralization focused projects. Currently the grids deployment solutions include.

  • Kubernetes
    • Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
  • Caprover
    • CapRover is an extremely easy to use app/database deployment & web server manager for your NodeJS, Python, PHP, ASP.NET, Ruby, MySQL, MongoDB, Postgres, WordPress (and etc…) applications!
  • Peertube
    • PeerTube, developed by Framasoft, is the free and decentralized alternative to video platforms, providing you over 600,000 videos published by 150,000 users and viewed over 70 million times
  • Funkwhale
    • Funkwhale is a community-driven project that lets you listen and share music and audio within a decentralized, open network.
  • Mattermost
    • An open-source, self-hostable online chat service with file sharing, search, and integrations. It is designed as an internal chat for organisations and companies, and mostly markets itself as an open-source alternative to Slack and Microsoft Teams
  • Discourse
    • the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more!
  • Taiga
    • The free and open-source project management tool
      For cross-functional agile teams to work effectively
      A featured-rich software that offers a very simple start through its intuitive user interface.
  • Owncloud
    • Control your data – always, anytime and anywhere. Deploy ownCloud on-premises, in a data center of your choice or in a hybrid setup. Regulations and certifications? Say no more. We keep your back! With multi-factor authentication, encryption and our elaborate file lifecycle management. Looking for 100% data ownership? Deploy with owncloud on Threefold
  • Presearch
    • Search privately, receive better results and get rewarded with the Presearch decentralized search engine, powered by blockchain technology.
  • SubSquid
    • An on-chain data processing solution that enables Web3 builders to gain access to on-chain data on their own terms.
  • CasperLabs
    • a team of builders, entrepreneurs, academics, and leaders who believe strongly in the potential of a blockchain-enabled world. We’ve come together to steward the development of the Casper Network, a blockchain protocol built from the ground up to remain true to core Web3 principles and adapt to the needs of our evolving world. Come join us and help build the future.
  • Node Pilot
    • a simple Linux executable, making your deployment options endless. No command-line experience is required. Whether on VMs or bare-metal, anyone can run crypto nodes with Node Pilot. Entry-level friendly. Self-host or Cloud VPS.

Support For Your Playground Deployment

      This Explanation is supported by multiple video tutorials you can find a master directory of the videos related to Threefold in the Gallery

Some Specifics videos for those getting started

For live support there is a chat function at Threefold.Io
Or you join our Grid Testers Telegram, Main Telegram, or Farmers Chat

6 Likes

AMAAZING.

The only question I have for you is… do you ever sleep?

Great work.

Some links were not working as they were missing the prefix “https://” (Ubuntu, Dashboard, Playground). I fixed them. Hope you don’t mind!

Keep it up @ParkerS. You rock.

Your so awesome now I need to update my Reddit post to your fixed version

2 Likes

Sometimes, But on that note

Setting Up an Ubuntu VM On the Threefold Playground

       The Ubuntu images are the most versatile deployments and allow you to take advantage of the worldwide grid, while being able to utilize exsisting tools and documentation related to the Ubuntu cloud images. This can enable the grid to host any services that are hostable in a linux server, whether that be a simple website, a database or a game server. By default the Full-VM images included in the playground are,

these images can be deployed with no additional configuration require to have a functional VPS, In order to deploy these images you will need to have your playground deployment profile setup there are steps documenting that process in the Setting up You Playground section.

with a setup Deployment profile you will select Full VM in the Sidebar this will bring you to the configuration window for your VPS. There are to tabs available here and I will address them indvidually

  • Config: this section configures the base attributes of your deployment and includes the following sections
    • Name: this will be your deployment host name.
    • VM Image: Here you can select one of the default images, or provide a custom flist link to choose the image deployed.
    • CPU (vcores): This is where you choose the number of threads that will be exposed to your deployment from the host node
    • Memory: This configures the amount of memory that will be available to your workload from the host node.
    • Disk Size: This sets the size of the root disk for your deployment.
    • Public IPv4: This slider enables your workload deploying with a Public IPv4 address exposed to the general internet
    • Public IPv6: This slider enables your workload deploying with a Public IPv6 address exposed to the general internet
    • Planetary Network This slider deploys your workload with a Planetary Network IP as an alternative soluton to accessing over public ipv4/ipv6. In order to connect to workloads using only planetary I.P you will need to install the Threefold Network Connector for Desktops, Or the Threefold Connect App available for Android and IOS, for mobile clients.
    • Node Selection: This is where you will choose the node that your workload deploys on your can either utilize the capacity filter or manually select a node. you can use the Threefold Grid Explorer or a community IOS application calle 3node-Info to locate nodes near you.
  • Disks: This sections allows you to add additional ssd storage to your workload, you will click the blue addition symbol in the top right corner of the disks tab and be presented with two fields
    • name: This is the name of the disk on the grid
    • size: This is the size of the disk in GB, it noteworthy to mention no single disk can exceed the sized of the hosts node individual drives, if you have trouble adding large disks this may be the problem. try a smaller size, drives can be combined with LVM in the ubuntu image after deployment.

      Once you have set all of your configuration parameters you only have to click deploy and wait, if you are downloading a large base image to the node, sometimes this will time out after 5 minutes, if this happens wait a short while and attempt you deployment again the image continues to download and is cached even if the deployment fails allowing you to redeploy once it is stored locally.

How to Access your VM post to follow

3 Likes

Acessing your Ubuntu VM Deployed on the Threefold Grid

      Once you have deployed your Ubuntu vm its time to put it to work, when your workload deploys successfully you will be presented with a status read out that reports the Ip addresses that your workload has deployed with,

If you have deployed with only a planetary network address you will need to install the Planetary Network Connector and have it connected prior to connecting to your workload. Connecting to any workload using the planetary network has the added benefit of connecting you over an encrypted ipv6 tunnel. if you need that.

Windows

On windows you have to very simple options for connecting to your workload, Putty and WSL.

  • Putty: This is a windows based application that is compatible with connecting to grid deployments that is available at Putty.org, make sure that you are using the same SSH keys with putty that you entered when creating your deployment profile.
  • WSL: The windows subsystem for Linux also supports SSH connections to grid deployed workloads, you can install the latest version of WSL by installing Ubuntu in the Microsoft store., note that must ensure you have imported the SSH key you used when setting up you deployment profile into WSL and have set the key files permissions correctly

Linux

Linux is natively compatible with the grid and can ssh workloads from the terminal with no additional software when using public ipv4/ipv6. If you workload has been deployed using only a planetary network address, you will need to install the Planetary Network Connecter and have it connected prior to connecting to your deployed workload.

3 Likes

Customizing your Ubuntu Full VM Image on the Threefold Grid

      If your deployment solution has reached the point that you need to start deploying multiple instances of a system image it is possible to create a custom FList that allows you to deploy a customized image that is fully prepared for your use on deployment.

2 Likes

Your Threefold Cloud Ubuntu VM’s Network Interfaces

      Deploying Ubuntu VM on the Threefold cloud follows a pretty standard procedure for any VPS, but once in your VM interacting with and configuring the network interfaces can be a bit overwhelming luckily with a little explanation of what things are and how you can use them, you will be able to follow all of the documentation for Ubuntu networking available when configuring your Threefold VPS. If you remember from our setup guide your VM has three possible interfaces Z-Net, Public IPV4/IPV6 and Planetary. When deploying on the default ubuntu images the interfaces are typically ordered

Eth0: Z-net

Eth1: Public IP

Eth2: Planetary

But if your deployments interfaces are not in this order they are each easily identifiable by their attributes

  • Eth0: Z-net
    • Private Subnet IP Address And has a DNS server set
  • Eth1: Public IP
    • Public Subnet IPv4/IPv6 Address with no DNS server set
  • Eth2: Planetary
    • IPV6 Address with no IPV4 Address

      Each interface of your deployment serves a different purpose and can be used differently.

  • Z-Net: Functions most similarly to how you would expect the internet connection on your home computer to work, this interface provides the VM with access to the internet for things like OS updates or downloading files, while isolating the VM from the hosts local private network. This network also includes other 3nodes and VMs and can be used to create a link, between a deployed workload with a Public IP and one without, or two workloads that neither of which have public Ip’s regardless of the nodes physical locations. Think of Z-Net as the LAN network of the Grid. you cannot connect non grid devices to z-net.

  • Public IPV4/IPV6: Deploying with this interface gives your workload its own traditional Public IPv4 or IPv6 Address and allows your workload to support workloads that will be accessed by the public or function as a router. This interface is a direct connection to the internet provided by the host of your deployments 3 nodes and the Ip belongs entirely to your virtual machine and your are able to use it to do anything your Linux VM is capable of. Public Ip addresses bill on both a reserved basis and on a per GB transferred basis, so it is advisable to transit as much traffic as possible over Z-net or the Planetary Network. You want to think of this interface as a WAN connection for the grid. Your Public Interface I.P. Address will be reachable by all internet users

  • Planetary Network: This is a p2p encrypted mesh network that allows workloads without public Ip addresses to be accessed by devices that are not grid devices and cannot connect to Z-net. There is a detailed explanation of the planetary network available Here But the nuts and bolts of it are that you can use it so that you can access workloads without public I.P addresses by installing the Threefold Network Connector for Mac, Linux Or Windows Or Threefold connect app available for Android and IOS. This interface will be reachable by and can reach all other planetary addresses. You’ll want to think of this as the VPN network used to access the grid from non grid devices.

2 Likes

Nice man! Very clear and in depth.

1 Like

This is the first time I’ve head about the Threefold Network Connector. It makes the entire process very easy for Desktop Computers. Awesome! I’ve been using Yggdrasil up until now. Though I am very unsure how I would use the ThreeFold Connect App on iOS to connect to the Planetary Network. Am I missing something here? For me I got it working (once again) using Yggdrasil, which is available for iOS devices via Testflight.

Unfortunately the iOS version doesn’t have planetary yet, only the android version :frowning: knowing ygg is on test flight is new to me though. On it.

Yes the planetary git hub seemed to have fallen off the radar for a bit