Down the Rabbit Hole: Spheron
Spheron is making cloud-based project deployments and development decentralized!
Spheron helps automate the development of dapps by assuring the best developer experience for assisting with the following on the decentralized network:
- Instant deployments
- Automatic scaling
- Providing personalized content
Spheron assists the development teams with building, previewing, and decentralizing the projects over a decentralized network while assuring the default benefit of censorship resistance.
Journey of Spheron
Mitrasish Mukherjee and Prashant Maurya started their Web3 journey by participating in several hackathons for building Dapps. Always curious about what's absent from the Web3 space, they moved ahead, building Dapps to overcome the challenges. This is how they envisioned Spheron to go above and beyond to make the dApp fully decentralised – unaffected by any censorship from centralised prominent Tech Lords like Google and Amazon.
They founded Spheron in Bengaluru, India, in 2020, Spheron helps decentralize the frontend – the presentation layer of the web app.
The eureka moment came when they could onboard 50 projects from the Arweave community to use Spheron and deploy their web apps.
The platform acts as a deployment aggregator for decentralised cloud protocols, which helps developers quickly access and onboard them.
Spheron aggregates several cloud servers in a decentralised manner, offering the new developers exploring new technologies in the blockchain a better experience. Spheron provides a simple way to use these protocols without learning new languages.
Deployment with Spheron
Spheron lets the developers gain control over how they build and deploy their repo. Here are some parameters that are there with deployment using Spheron:
- Owner: The organization whose name identifies the deployment's owner.
- Branch to Deploy: The branch of the repository that Spheron will use.
- Root directory: The root directory might not be the repository's top-level directory. Your repository can be a monorepo with a frontend directory that contains a standalone application.
Building with Spheron
Spheron provides an auto-detect framework option that streamlines the process for you by applying the proper build parameters following your chosen repository. During the first site deployment phase and later once the project has been deployed, the parameters can be manually input.
Here are the build parameters that a builder can modify with Spheron:
- Framework: The structural foundation upon which the website is built.
- Package manager: It simplifies importing external dependencies and establishing project environments. Here, you can select a package manager. such as npm && yarn
- Build command: The instructions for creating the website.
- Publish directory: The folder name where your site's files are located after being created.
Deploying in Spheron
Each new website is deployed atomically through Spheron Protocol, preventing anomalies from occurring when adding new files or changing existing ones.
To launch a successful project, choose New Project from the Spheron dashboard and follow the on-screen instructions.
1. Picking a repository:
- Users can select their preferred alternative because the Spheron Protocol supports services from GitHub, GitLab, and Bitbucket. To fetch the repositories linked to any git provider, click on it.
- The permission page for the chosen provider (GitHub/Gitlab/Bitbucket) will be redirected to you.
- You will be redirected to Spheron after your account has been successfully installed so that you can view the repositories that are part of your account.
- Choose the repository you want to use.
2. Picking a protocol:
Pick the protocol from the available options that best suits your needs.
3. Configuring build options:
Take charge of your site's build settings based on the app's framework.
Click the Deploy button to make your app available after all the parameters have been successfully chosen. The deployment logs will appear on the screen as your deployment gets underway.
Spheron's Decentralized Protocols
You can deploy your app using any of the decentralized protocols supported by Spheron. Select the protocol that most closely matches your needs. Spheron supports these four protocols at the moment. They are as follows:
- Arweave: Arweave is a brand-new type of storage that supports information with long-term and perpetual endowments, enabling developers and users to preserve information forever. With Arweave, users can permanently recall and preserve important data, apps, and history on a shared hard drive that they never forget.
- Skynet: Skynet programs broaden the scope of what the internet is capable of. Decentralization promotes application, integration, and innovation that the centralized world cannot match, in addition to protecting privacy.
- Filecoin: Filecoin is a decentralized network based on IPFS that enables data storage and accessibility from almost anywhere. As data is saved and accessed on user-provided nodes, users can earn Filecoin by offering their available storage as nodes on the network.
- Pinata: Pinata is pioneering a transformation in how the world stores, accesses and analyzes content linked to blockchains. Pinata develops tools and services that simplify Web3 developers to generate and manage content on IPFS.
Git workflows with Spheron
Direct collaboration and preview viewing in the Github repository is now possible thanks to work by Spheron. There are many unique features to make it simple for a team to cooperate successfully without viewing the dashboard.
Among these new features are the following:
- PR Comments: Spheron publishes comments anytime users establish a PR and begin deploying the PR's most recent commit. The deployment Preview link and the Deployment Logs link will be posted following a successful deployment.
- PR Checks: For every commit, Spheron additionally posts the deployment checks as the deployment begins. The PR, which will reroute to the deployment log page, also shows it.
- Environments on Github: Spheron also generates a deployment environment there. Users automatically receive Production and Development deployment environments from the platform. The Deployment Environment has further information. To enable the team to view deployment history, the deployment link is shared to various deployment environments on Github.
- Builds in Gitlab: With a distinct Gitlab flavour, this is the same as the Github Environments. Spheron builds 2 build pipelines based on the 2 deployment environments, much like Github Env does. For the team to observe all the deployment histories completed for a particular environment in Gitlab, Spheron provides deployment links to these builds. Continuous deployment is now enabled by default thanks to a new Git Provider procedure.
- Git Fork Protection: If a fork of your repository sends you a pull request with a change to one of your files, Spheron will move the deployment to the Awaiting Authorization state and ask for your or a team member's permission before deploying the pull request. By acting in this way, you can avoid disclosing private Project information. You will be directed to the Authorize Fork Deployment page after clicking the card.
Spheron Deployment Environments
Spheron allows you to choose the environments you want to utilize to control continuous deployment for your project. Two deployment environments—Production and Development—will automatically be assigned to your project.
An environment can be in one of three states:
- Active: The chosen Environment is operational and functional.
- Inactive: The chosen Environment has been turned off and no longer supports your deployed site. By hitting the Activate button, you can turn on the environment.
- Payment pending: The chosen Environment has only recently been added and is awaiting the cost completion. The state will be switched to ACTIVE once the payment is accepted. Both success and failure payments will send a notification alert.
Project Card while Deploying with Spheron
Your deployed project's pertinent information is included on the Project Card, and every project page contains this card.
It displays the following details:
- Screenshot of the web app deployed
- The repository's name
- Environment for Deployment
- The repository's deployed branch
- The deployment's time and date
- The deployment link's domain attachment
- Details of the deployed repository on Gitlab, GitHub, or Bitbucket
- Website preview link
The URL users use to access your website is known as a domain name. By using custom domains, you can make your websites reachable at unique, non-Spheron domain names. Spheron supports all top-level domains.
Multiple Domains: The most recent deployed transaction in Arweave will be the destination for all domains that choose the most recent option while configuring them on the Spheron platform. Otherwise, users can point to a single deployment, and further deployments won't affect the domain site.
Automated DNS Resolver
Previously, customers had to add specific entries to their DNS provider whenever they attached their domain to a project. Therefore, users had to alter these records once more when they redeployed the project, which was a significant administrative burden for them.
Users of Spheron need to add their domains and records to their DNS provider once more. After successful verification, the user can point their domain at a specific deployment, or the domain will automatically point to the most recent deployment if they reinstall any site.
When adding your domain to a project, you must choose the most recent option if you want to use this feature. By selecting this option, the most recent deployment will be linked to the domain name, and any subsequent deployments will also be tied to the domain name.
Here are the steps for attaching the domain:
- Select your project from your dashboard.
- Select the Domains tab. Enter the domain name you want to link with the specified domain in the Select Site section, choose the deployed link, and then click Add. The screen will be expanded to include the desired setup.
- In your DNS provider, add the records that are displayed in the domain item, then select verify. This will examine the DNS provider's setup. Before clicking on Verify DNS settings, we must then wait for the domain records to propagate.
Here is how to attach a subdomain:
- Select your project by going to your Dashboard.
- Select the Subdomains tab. Enter the name of the subdomain you want to link in the Select Site area, choose the deployed link, and then click Add. The screen will be expanded to include the chosen setup.
- In your DNS provider, add the records that are displayed in the subdomain item, and then click on verify. This will examine the DNS provider's setup. Before clicking on Verify DNS configuration, we must then wait for the subdomain records to be propagated.
It is simple to refer an Ethereum Name Service (ENS) domain to a deployed link and have Spheron automatically update the content hash for that link. The advantage of ENS domains is that they operate on the Ethereum blockchain network through smart contracts and are decentralized and trustless.
A compatible provider or browser must be installed on the user's computer for them to resolve or visit an ENS domain. One approach is to use the MetaMask browser extension, which can resolve.eth domains.
Go to the project settings page under the domains tab after your app has been deployed on Spheron. ENS Domains can be found in the left sidebar section.
Here is how to attach the ENS domain to a project deployed with Spheron:
- Select your project by going to your Dashboard.
- The ENS Domains tab can be selected. Enter the name of your ENS domain in the Select Site area, choose the deployed link you want to connect to the chosen ENS domain, and then click Add. The screen will be expanded to include the chosen setup.
- You can change your ENS content hash using Spheron right from the app. The content hash will be updated as soon as you click the Update button, validate the metamask transactions, and double-check the gas fees. In your ENS Domain Manager, check it out.
- By visiting your ENS dashboard and upgrading your content hash with the CONTENT offered for the same in Spheron, you can also manually change the content hash of your ENS domain.
- By selecting Verify, you may see if the update has been completed or not. Your domain will be prepared to shoot after we have verified the records for you.
Creating organization with Spheron
You can create numerous organization accounts using Spheron Protocol. The organization will include all of its newly imported projects.
These accounts reflect a collection of individuals who co-own projects, and numerous tools are available to manage these individuals' subgroups. Each organization is associated with its distinct billing.
Here is how to Form an Organization:
- Visit the organization popup first, then select Create an Organization.
- You must specify your organization's name and a username. Then, if you like, you may invite more people to join the organization.
Here is how you invite a member:
- To add a member to the organization, click Add Members and enter their email address. The entered member will be added to the pending invite area after being confirmed in the popup.
- A mail invitation from Spheron will be sent to the member. If you can't locate it in your mailbox, please check your Spam folder as well.
- You will be taken to the Spheron login page after selecting Accept Invite. Use your preferred provider to log in or register.
After successfully logging in, users won't be immediately added to the organization. The invited user must wait until the payment is successful before the member may be added to the organization; only then does the user become a member. Through Spheron Notification, we also inform the invited users and organization admins of the invitation status.
The invited member will be added under organization Members upon a successful payment, which will remove them from the Pending Invite area.
Start deploying your web apps now → https://bit.ly/3QPg0DH
Subscribe to our newsletter for weekly updates 👇