Getting Started

A brief overview of dApp development process

With the dApp development process in mind, Ontology has made available a one stop solution in order to assist developers with the initial learning curve and help them get acquainted with dApp development.

Ontology Ecosystem

dApp Fundamentals

dApp development can be conveniently understood as a composition of two elements- Smart contract development, and dAPI integration.

  • When the dApp needs to synchronize and update its data from the chain, it can do so using any of Ontology'sSDKs, or invoking the Restful interface or RPC interface. Feel free to check out the details regarding the aforementioned components.

The dApp back end is not a necessary prerequisite. Certain dApps may not need a back end.

  • The economic model of certain dApps requires tokens to implement key functionalities. If that is the case, the user may release tokens as and when needed. OEP4 functionality in a smart contract, and smart contract sample code might be worth taking a look at. Please follow this link for more details.

  • Some special purpose dApps might need to store data on the chain. Consider taking a look at the following link for reference.

Generally speaking, the fundamental logic for most dApps completes within the scope of smart contracts. The various tools made available from Ontology's side help speed up development and deployment, or in some cases, migrate contracts from other chains onto Ontology. Ontology also provides the standard interface to interact with smart contracts, the dAPIs, thereby allowing the users to conveniently use dApps without compromising on security. There is no risk of losing the private key. The dApp developers have the freedom to solely focus on developing the core logic of the dApp.

Follow the link below to refer to the Ontology integration guides to start integrating Ontology into your dApps. There are also development guides available for reference that can be used to start developing applications and smart contracts.

Smart Contract Fundamentals

Smart contracts are the fundamental units of logic as far their usage within the blockchain ecosystem is concerned. Smart contracts implement functionality by releasing assets on single, or multiple chains based on the business logic and architecture, when certain fixed and acknowledged contractual clauses are fulfilled, or fail to fulfill. Hence, smart contracts can be used to program complex logic and functionality without any constraints in terms of industry.

Ontology provides SmartX, and IDE that facilitates smart contract development using Python, C# and JavaScript (Coming soon). SmartX has an in-built compiler and can be used to deploy and test smart contracts on the Ontology test net, a locally deployed private net, and the main net. It also includes templates of varying complexity that can be used by developers and enthusiasts alike. Follow the link below for more details on smart contracts.

Deploying a Node Locally

Ontology node can be deployed on a local machines to test dApp and smart contract logic. The punica suite made available by Ontology serves as a development framework that includes all the necessary tools. Follow the link below for more details.