5 Permissioned services
5.1 Overview
The Permissioned service is one of the core services provided by BSN. Its goal is to make it easy for developers to publish decentralized applications (DApps) based on the framework of the permissioned blockchain on their selected public city nodes. Compared with the permissionless blockchain DApp, the permissioned blockchain DApp is more flexible in terms of architecture design, operation efficiency, and smart contract programming. It also has a larger space for innovation. However, from the perspective of development, because the developers need to build their underlying environments, and the environment for the public chain is readily available, the development, operation and maintenance of the permissioned chain DApp are relatively difficult. The developer's off-BSN system can access to DApp for data processing through the BSN public city node gateway.
Although BSN has greatly reduced the difficulty of permissioned blockchain DApp development, developers still need to have an in-depth understanding of the following three aspects which will be explained in detail in the following chapters.
1. Keys and Certificates Mechanism: the blockchain application itself is based on encryption algorithm technology, so the requirements of the keys and certificates are very high.
2. DApp services publication and participation: To build a permissioned blockchain DApp, the developer should firstly set up the chain and deploy the smart contracts. This part is entirely carried out on the BSN global portal (www.bsnbase.io), including the operations of smart contract upload, certificate mode selection, role's permissions setting, peer node configuration, public city node location, etc. Finally, developers need to upload or download keys to facilitate the access from off-BSN system.
3. Off-BSN system access: This part contains a detailed description of the access parameter configuration, SDK usage, and the description of public city node gateway APIs to which the off-BSN systems connect. The API section includes all APIs of the currently permissioned blockchain frameworks that BSN has adapted.