DApp Integration
After developers complete the development and testing of smart contracts, they need to proceed with the front-end integration development to enable the interaction between DApp and the block chain, such as obtaining information from the Neo blockchain and invoking smart contracts deployed. In this section we will introduce the DApp integration with Neo blockchain.
As shown in the figure below, DApps can interact with the blockchain in the following ways:
-
Use NEO-SDK and send RPC requests;
-
Call the DAPI provided by the wallet plugin
Basic interaction functions
The following table lists the basic functions of DApp and blockchain interaction. In addition, different SDKs and wallet plugins may provide more functions. For details, refer to the specific integration tools you use.
Category | Function | Description |
---|---|---|
Wallet | Create a wallet | Create a new Neo wallet. |
Import a wallet | Imports an existing wallet through its wallet file, private key/wif, or NEP2 private key plus password. | |
Query the balance | Queries the digital assets and balance owned by a wallet through the wallet address. | |
Transfer assets | Transfers assets such as NEO, GAS, and Nep-5 assets to other wallets | |
Smart Contract | Invoke a contract | DApps implement the logic that needs to be deployed on the blockchain through the smart contract and execute it by invoking the contract when needed. |
Information Query | Blocks information | Queries any block information |
Transaction information | Queries any transaction details on the blockchain | |
Execution log | Queries detailed execution logs and events for a certain transaction |
DApp Integration tools
To fit different developers' needs and facilitate DApp development, Neo development community provides NEO-SDK for multiple languages and wallet plugins supporting DAPI.
neo-sdk
Neo-sdk provides a relatively easy and flexible way for developers to use. It packages functions such as wallet, digital asset transactions, and smart contract invoking, which can be simply used by introducing the corresponding neo-sdk into the DApp project.
SDK supports the following functions:
-
Wallet
-
Transaction
-
Contract invoking
-
Blockchain information query
Neo developer community provides the following Neo-SDK:
-
JavaScript:
neon-js: Github , Documentation
-
Java, Kotlin
neow3j: Github , Documentation
-
C#
neo-lux: Github , Documentation
-
Golang
-
neo-gogogo: Github , Documentation
-
neo-utils: Github , Documentation
-
-
python
neo-python: Github , Documentation
Wallet plugins supporting DAPI
DAPI describes a set of common interfaces for interaction between DApps and wallets. With trusted third-party wallet providers that support DAPI, users can use DApps more securely, and the unified user interface enables DApps to provide a friendly user experience. Some wallets or wallet browser plugins in the Neo ecosystem have implemented DAPI support, and users can use familiar wallet plugins in DApps.
For more information about DAPI functions, refer to dapi standard .
These wallets or wallet plugins support DAPI:
-
Neoline: Download wallet plugin , dapi Documentation
-
Teemo: Download wallet plugin , dapi Documentation
DApp Development Tools
NEO·ONE
NEO•ONE is a full end-to-end toolkit adopting TypeScript or JavaScript to develop DApps on the Neo platform. NEO•ONE offers a one-stop solution for DApp development, covering all the tool functions needed throughout the entire development cycle, including:
-
Supports JS / TS application development
-
Supports private chain, test net, and main net
-
Smart contract writing, testing, and deployment
-
Invoking smart contracts directly within the DApp through the client API
NEO·ONE provides comprehensive documentation, learning courses, and tutorials. For more information refer to NEO·ONE website .