Chrome Plugin
Integrating the Google Chrome Cyano wallet plugin
Before using the dAPI for Chrome, it is necessary to first install and implement a wallet that has the dAPI provider
functionality built into it, for e.g., Cyano Wallet for Chrome.
The dAPI
can be implemented using TypeScript
, and can also be used in JavaScript
programs.
Some of the more popular usage channels of dApps
, apart from opening the dApp
in the Chrome
browser, also consist of launching the dApp
from withing the mobile wallet. The access scheme for opening a dApp
in the wallet is illustrated here.
Here is a step by step guide to assist developers with the integration process:
1. Development environment set-up and installation
Before starting with the actual development process, do ensure that the following tools are installed and set-up on your local machine.
Node.js v6+ (LTS with npm) - Download link
Google Chrome - Download link
Cyano Wallet Chrome Plugin - Download link
Git - Download link
Next, we can install Ontology's dAPI
. While building dApps
, this dAPI
serves as one of the core APIs that allow us to communicate with the chain. The source code can be downloaded here. To carry out the installation using npm
, use the following shell command:
2. Creating a dAPI instance
Creating a dAPI
instance involves importing and registering the client-side, as such:
3. Deploying dAPI methods
Once a dAPI
instance is created successfully, dAPI
methods can be used in a given dApp
.
Fetching account or identity information
Smart contract methods
Communication methods that assist interaction with the chain
Account transfer method
Data signature methods
For a comprehensive list of all the available dAPI
methods, please refer to the dAPI Specification.
4. dAPI demonstration
Follow the link below to refer to a demo dApp
that utilizes the dAPI
methods mentioned above.
How to set the gaslimit and gasprice
Every transaction that takes place on the chain includes a gaslimit
and gasprice
.
gasprice
has a correlation with the amount of standby time while the given transaction is packaged. Currently, the lowest value of gasprice
is 500 units on the TestNet and MainNet.
The gaslimit
of deployment contracts is set based on the complexity of smart contract's execution process. The minimum gaslimit
value of a contract can be determined before deploying it by carrying out a pre-execution. The default gaslimit
value of native
contracts is 20000, while that of deployment contracts is usually higher than 20000000 units, generally speaking.
How to handle addresses
The Chrome plugin Cyano
wallet only accepts addresses in ByteArray
format when importing addresses. While testing smart contracts in SmartX
, the IDE automatically converts addresses to ByteArray
format. So, there will be no address related issues during the deployment phase. However, in the developer's local environment, if the conversion is not carried out manually, the system will return an error.
The following method can be used to convert addresses to ByteArray
format in JavaScript:
Last updated