Decentralized Functions

The lowering of accidental complexity has been one of the most powerful indicators of computing advancement. The most recent effect of this progress is serverless technology. However, while it has removed most of the operational burden that was previously on developers' plates, it still leaves something to be desired in terms of end-user benefit. That will soon be a thing of the past thanks to a new breed of serverless applications.

Industry has progressed from Infrastructure as a Service (IaaS) to Platform as a Service (PaaS) to Functions as a Service (FaaS). It's quite liberating to go from managing physical servers, operating systems, hypervisors, container engines, load balancers, and so on to merely provisioning functions.

Power of WebAssembly

We built Planetr Functions, our new serverless compute environment, to give developers more power, scalability, and speed at the decentralized network. Planetr Functions is powered by WebAssembly. We chose WebAssembly because it's an emerging technology that we believe lays the foundation for what function computing will become: a more performant and flexible place to deliver websites and applications.

Planetr team is actively following the open-source projects from WebAssembly Community Group and the Bytecode Alliance. Planetr uses an adapted version of Wasmtime to power the functions on the network.

Functions CLI Command Reference

// run planetr with --help to see all possible commands
$  planetr --help 

Functions CLI Commands

func-createCreate a decentralized function
func-editEdit a decentralized function
func-runRun a decentralized function
func-rmDelete a decentralized function
func-psList all decentralized functions
func-testTest a decentralized function locally

Writing Planetr Functions

To make it easier for developers, Planetr functions have signatures that are quite similar to AWS Lambda functions. The code is compiled into a Web Assembly binary and then deployed to the Planetr network.

To write functions, Planetr currently only supports the Rust programming environment.

As a next step please learn to create a web assembly.