Stargate: Release Candidate 2
Tags: Dero Updates, Smart Contracts, Privacy, Homomorphic Encryption, Blockchain

Private Decentralized Application Platform

The Stargate RC2 Testnet has arrived!

We are pleased to bring our long anticipated Stargate RC2 release to the public for testing. Stargate is a general purpose, private, and scalable decentralized application platform that allows developers to deploy powerful and unstoppable applications, while users retain total control over their assets with complete privacy. The technology behind Stargate has evolved over the last few years to challenge many of the issues that are preventing the crypto space from attracting widespread adoption. Preserving user privacy and ensuring a scalable network were the inspiration for this release, since the platform was already developed for speed.

What’s New?

Stargate RC2 is built upon the first homomorphic encryption blockchain protocol, dubbed DERO-HE. Simply put, account activity on the DERO network is never decrypted by anyone other than its owner. This is achieved by using a homomorphic encryption scheme for all transactions on the network, including transactions to and from smart contracts.

Homomorphic encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. The result of the computation is in an encrypted form, when decrypted the output is the same as if the operations had been performed on the unencrypted data.

Our new protocol also comes with some convenient features that we feel are critical for long-term and widespread use. Some notable features include:

Homomorphic encryption account model

Instant coin and token balance syncing

Native token transfers via wallet

Support for both public and private smart contracts

Transfer settlement in less than 20 seconds (1 block)

Blockchain pruning

Please see our previous project update to learn more about DERO-HE.

Getting Started

There will be a number of ways that Stargate RC2 will be tested, but we rely on your input to find any areas for improvement. Below we will outline how to participate in the public testnet and where to report any issues or improvements along the way.

Source Code (build your own binaries)

https://github.com/deroproject/derohe

Before you can get up and running, you will need to download or build the binaries for your specific system/architecture. For example, Apple users will need to download the “darwin” package.

Software Downloads

https://github.com/deroproject/derohe/releases

Next, launch the daemon and wallet executables. Allow both to fully sync in order to start mining or send transactions.

This testnet release uses the following ports in order to communicate with your daemon and wallet:

P2P Default Port

40401

40401 RPC Default Port

40402

40402 Wallet RPC Default Port

40403

Testnet Explorer

https://testnetexplorer.dero.io/

Feedback

In order to report any issues or improvements, please submit a github issue on the main repository.

Smart Contracts

Stargate RC2 now supports public and private smart contracts, but let’s look at how they operate. Public contracts will reveal all data and transactions for complete transparency and auditing. Private contracts reveal limited data, leaving sender/receiver information and token balances encrypted. Both contract types publish their code publicly in order to be auditable, but private contracts allow users to remain anonymous.

In an effort to reduce complexity and protocol vulnerabilities, Stargate RC2 continues to utilize DVM-BASIC, a contract-oriented, high-level language for implementing smart contracts. It is influenced by GW-BASIC, Visual Basic and C, which is designed to target the DERO Virtual Machine (DVM). It is easy to program and very readable.

Example Factorial Program

' This is a comment

// This comment is supported

/* this is multi-line comment */

// printf is not supported in latest DVM. Please comment or remove printf from all old Smart Contracts.

Function Factorial(s Uint64) Uint64 // this is a commment

10 DIM result,scopy as Uint64 /* this is also comment */

15 LET scopy = s

20 LET result = 1

30 LET result = result * s

40 LET s = s - 1

50 IF s >= 2 THEN GOTO 30

//60 PRINTF "FACTORIAL of %d = %d" scopy result // printf is not supported in latest DVM.

70 RETURN result

End Function

The example smart contract above demonstrates how easy it is to implement and audit contracts on our platform. Please refer to the DVM documentation for additional examples. Also note that all smart contracts created for Stargate RC1 are fully compatible in this release, but please remove or comment out any printf references as they are no longer supported.

See examples and guides here: https://github.com/deroproject/derohe/tree/main/guide

There will be more information on features and additional documentation released in the future. For now, we are looking forward to your input and hope that you enjoy this release.

Happy testing!