ArcBlock Cornerstone has released the DApps Workshop developer tool, which allows any user, developer, and product manager to easily and quickly build proof-of-concept products (POCs) for a variety of DApp scenarios that use decentralized identity, transaction-related transactions.



Proof of concept

POC, as it is known, is a demonstration whose purpose is to verify whether certain concepts or theories are possible to be applied in the real world. Thus, the POC is a prototype designed to determine feasibility, but does not represent the actual deliverables needed to build the application itself.

Today, blockchain is immature, and at the same time growing rapidly. Over the past few years, blockchain technology has been evolving from 1.0 and 2.0 to 3.0, and I even see companies like ArcBlock and others like Cosmos and Polkadot advancing blockchain connectivity and web of chains building a new generation of capabilities that will take us beyond 3.0. Because of this rapid growth, many companies are focusing on tools to build DApps on a large scale, and on making apps work quickly.

Decentralized application and testing

However, any developer will tell you that testing and building a POC is critical to the success and usability of any application, especially when you are integrating new technologies that have not yet been tested in production. Furthermore, testing not only requires the developer to build the POC, but also spends a lot of time on non-core functionality. A good example is the application of decentralized identity. Recently, we’ve seen the latest advances in this area from Sovrin, Uport, Microsoft, and ArcBlock, focusing on the use of decentralized identity and its potential benefits and impact on users. However, while these services all use the same design specifications provided by the W3C or CCG, the common ground ends there, and the implementation of these different identity solutions requires some breakthrough effort, including verification that it works.

DApps Workshop introduction

To do this, we created DApps Workshop[1], the simplest way to build A POC for DApps and decentralized identities.



DApps Workshop is a tool that allows developers \ product managers to quickly create and test POCs for decentralized applications, including creating and testing different types of transaction workflows and DID-based authentication requirements and support:

• Transaction related transactions

• Support pre-built workflows and processes/rules for all Tx classes including multi-transaction scenarios

• DiD-based authentication, including identity types, DSA (digital signature Algorithm) algorithms, and hash functions

• Configurable metadata

• Define required declarations including profile profiles and protocols

•ABT wallet mobile authentication

Enough about this section, let’s try to set up some POCs.

Build a POC: Add DID-based authentication to your DApp

DApps Workshop allows anyone to build and test an authentication process using diD-based authentication protocols. For example, I want to see how my decentralized identity Wallet (ABT Wallet) interacts with a new DApp built using the Forge framework.

Step 1 – Generate a DID

For authentication, creating an “application DID” takes 3 steps, which can include different types of diDs, for example:



Applications can represent different DID types, such as accounts, nodes, devices, and so on. This is important because there are many use cases for decentralized identity, including websites, applications, the Internet of Things, licenses, and more.

Now, you can choose digital signature algorithms, a digital signature standard originally implemented by the National Institute of Standards and Technology (NIST) at the U.S. Department of Commerce, as the preferred method for creating signatures. In the drop-down list below, there are several options available:



For example, we will use the popular standard ED25519. If you want to learn more, you can check out the relevant documentation [2]

Now that we’ve set up the type and DSA algorithm, let’s confirm the hash function. The hash function is used to map arbitrary size data to a fixed length sequence and is a one-way function that is difficult to reverse.



For our POC, we will choose SHA3, the most recent NIST standard released in 2015. At this point, we can “save and continue.”

Step 2 – Configure metadata

In this step, you can provide some details about your application, including name, description, copyright, and so on. One of the highlights is the “Publisher” text box, because this is the last DID that was just generated in the previous section. For our example, we also use the DeepLink path as an ABT wallet, but any appropriate links can be provided.



Step 3 – Set up the declaration

Now, the final step in configuring authentication is declaration. These are any required declarations that need to interact with the application. For example, whether users are required to share their name, email, phone, and so on. You can add more options as needed.

In addition, there is a “required agreement” section. This area allows you to ask users to agree to the different requirements required to use your service. In our example, we have options for data policy and terms of service, which are usually required when registering an application.



Save the work done above! You have now successfully created an application that contains DID and provided several key pieces of data, including deep chain, application DID, application public key, and application key. Next, try using your ABT wallet and scan the QR code to log in.



Success!

Success! You have now logged in to the application using a decentralized identity wallet. At this point, you can easily start testing additional properties by simply “editing” the application, or deleting it and starting a new one. It’s that simple.

For more information about DApps Workshop[3], please visit the official website. If you want to start building your own DApps, check out Forge Blockchain Application Framework [4] : The easiest way to build decentralized applications and blockchains.

References

[1] DApps Workshop:

https://www.arcblock.io/zh/DApps-workshop



[2]

https://crypto.stackexchange.com/questions/47147/ed25519-is-a-signature-or-just-elliptic-curve/47163



[3]

https://www.arcblock.io/en/DApps-workshop



[4]

https://www.arcblock.io/en/forge-sdk