The Scrypta dApp Ecosystem

Scrypta
6 min readMay 28, 2019

--

The development of the Scrypta infrastructure: from its inception to today

Scrypta Blockchain was born on 21 December 2018, the date of creation of the Genesis Block. The Scrypta infrastructure has been designed to be a tool of high technological value, able to adapt to multiple needs and / or applications, thanks to its decentralized nature and the new tools dedicated to developers. The ecosystem designed around Scrypta offers exceptional means of storage, certification and verification, too: excellent requirements for all those companies and organizations wishing to look out for technological innovation.

During these six months of activity we have developed and improved the entire infrastructure focusing on interoperability, flexibility and efficiency, creating a real ecosystem for the development of dApps.

Going step by step, in this article we will try to frame all the ecosystem elements that contribute to structure it as it is today. The following parts could be very technical and difficult to understand but we will try, as far as possible, to use a language understandable to most people.

IdANodes

Github: https://github.com/scryptachain/scrypta-idanodephp

The IdANodes technology was the first to be implemented in the Scrypta infrastructure: its function is not based only on the creation and management of “addresses”, but extends to the reading of the blocks in order to reconstruct the information entered via OP_RETURN based on specific rules.

Then, the IPFS memory has been implemented and the “pin” function (with the function of maintaining the uploaded files) is performed automatically within the IdA nodes.

Another important function concerns the IdANodes implementing the API REST language, whose calls are used to interact with the blockchain. These nodes have been entirely developed in PHP language and their implementation in NodeJS is in progress.

IdANodes can be used to create decentralized server-side applications, where human intervention, as far as data entry is concerned, is practically absent. Or it can be used to add some blockchain-based features to existing applications.

(Unofficial documentation can be found here: https://documenter.getpostman.com/view/3143294/S11Ltxfq)

ScryptaCore.js

Github: https://github.com/scryptachain/scrypta-core

This library (javascript), from the point of view of users, is the most important. ScryptaCore.js allows the creation of Lyra addresses, as well as of raw transactions (with or without OP_RETURN) and their signature, entirely on the client side. This means that the only person who has access to private keys is the user himself.

ScryptaCoreJS also provides a consolidated wallet registration and encryption system in files called ScryptaID (.sid). These files contain all the information necessary for the wallet to access and perform operations. Therefore, we can call it a true authentication method, which should be used as a security standard.

Trustlink

Github: https://github.com/scryptachain/scrypta-contracts

Trustlink is the technology that allows the creation of multisignature addresses within the Scrypta blockchain. These multisignature addresses, once created, are similar to normal addresses, so they can perform fund sending, writing operations, etc. With this technology, the Scrypta team is building an innovative and practically unique platform for the management of blockchain contracts (https://contracts.scryptachain.org). The management of these addresses is found solely within the IdANodes.

ScryptaID

Github: https://github.com/scryptachain/scrypta-id

In addition to the acronym “.sid” of the Scrypta encrypted wallets, ScryptaID also is the Chromium browsers extension (Chrome, Brave, Vivaldi etc) that allows users to keep and / or create .sid files. This extension also does an inject operation of the .sid files in the ScryptaCore.js recognized format, allowing quick login operations to be carried out within the dApp Scrypta (see the developed dApps). Inside the ScryptaID extension there is also an app explorer (we’ll mention it later on) in its alpha version. Additionally, a “certain” identity management system will be implemented soon.

The forthcoming ScryptaID developments

These digital identities will be managed by uploading certified identification files to IPFS.

The “SPID” — Public Digital Identity System:

SPID is the authentication system that allows citizens and businesses to access the public administration and private adherents online services with a unique digital identity. The SPID identity consists of credentials (user name and password) that are issued to the user, allowing access to online services.

This system, developed directly by the Italian state and accepted by the main public administration portals, will be integrated and interfaced with ScryptaID directly in order to “certify” and link a certain identity with one or more addresses of the blockchain.

Scrypta dApps Engine

GitHub: https://github.com/scryptachain/scrypta-dapps-engine

The Scrypta dApp Engine is the latest creation of the ecosystem (in alpha development phase) and it is basically a NodeJS application that can operate both locally and remotely, allowing users to start decentralized applications.

Let’s analyze its functioning better.

Through a developer portal, which will soon be available (or simply using IdaNodes according to the established protocol) it is possible to upload to IPFS a folder containing an endpoint file and the dApp assets (refer to this repository for an example: https : //github.com/scryptachain/scrypta-dapp-minimal) inserting the following information into a Scrypta address:

Protocol — dapp://

Data — IPFS_HASH_FOLDER

The engine will look for the “index.html” file as the endpoint in the desired folder and will consequently load all the necessary dependencies, always reading them directly from IPFS.

The engine will always try to load the last available version of the dApp: this means that the developer will be able to upload an updated version of the dApp (perhaps after the bug fix or the implementation of new features). On the other hand, nothing will change on the user’s side as regards the use of the dApp.

Furthermore, developers can insert the “END” information, preventing anyone from accessing the dApp (at least through the official engine).

The engine, as mentioned above, can run locally (through pkg files compiled for Windows, macOS or Linux) or it can take advantage of the online endpoint: https: //scryptad.app (use from mobile mainly).

An example of what is expressed above can be viewed here:

https://scryptad.app/LdRQokR1i3XDtj1V3jnCRqMPrVc7sYkeE2.

We have therefore created a system whereby developers will be able to deploy their dApps securely. Users will be able to trust the dApps (or rather verify — don’t trust, verify!) as the code is immutable and analysable. The entire dApp is actually loaded into Scrypta and not just the blockchain logic (making a comparison with Ethereum’s Smart Contracts).

Clearly, given the elasticity of these dApps (created with VueJS, as those of the Scrypta team, or with Angular or other frameworks) it also allows interoperability with other external systems (as the oracles in the Ethereum ecosystem) with the capability to read information in real time or to make calls to other systems.

The development team is currently engaged in creating a version of this engine that will work directly on smartphones in order to create a truly decentralized system, as users will be able to launch the dApps without a central server and to download the code directly from the Blockchain, using mobile devices too.

Scrypta Developers Portal

This portal, yet to be completed, will help developers to easily upload their dApps to Scrypta and manage them just as easily. The creation and insertion of the dApp will be clearly bound to a ScryptaID (therefore to an address) and the dApp itself will be connected to a Scrypta address. Further details will be made public after the release of the first version.

We are producing guides and tutorials for each of these ecosystem modules. Because the development of the entire Scrypta infrastructure is so rapid, it is rather complicated to go hand in hand with the official documentation. However, we invite all developers interested in creating a dApp on the Scrypta infrastructure, or who simply want to contribute or to give a feedback, to join our Discord channel and get in touch with the development team. We remind you that all the above mentioned tools are strictly Open Source and it is possible to find the repositories on our GitHub portal.

[Turinglabs — Head of Development at Scrypta]

SCRYPTA - Adaptive BlockchainWebsite: www.scryptachain.org 
Foundation: https://scrypta.foundation
Block Explorer: https://chainz.cryptoid.info/lyra
Official Github: https://github.com/scryptachain
Twitter: https://twitter.com/scryptachain
Discord: https://discord.me/scryptachain
Telegram: https://t.me/scryptachain_official
e-mail: info@scryptachain.org

--

--

Scrypta
Scrypta

No responses yet