A computer-implemented method for implementing a blockchain-based decentralized application, wherein the blockchain-based decentralized application comprises a client-side application of a client device and a blockchain contract associated with the client-side application and deployed on a first blockchain, wherein the first blockchain is managed by one or more blockchain nodes of a blockchain system comprised by an online platform, wherein the client-side application provides an interface in which user inputs are received and outputs are displayed and relays backend computation and processing to the first blockchain in which the blockchain contract associated with the client-side application is stored, wherein logic associated with the blockchain contract is executed by one or more virtual machines associated with the first blockchain to perform computation, processing, and data storage tasks related to functionalities of the decentralized application, the method comprising: generating, by the client device, a request to an external service based on a software development kit, SDK, associated with the external service, wherein the SDK is integrated with the client-side application on the client device and the external service comprises a decentralized identifier, DID, service associated with a second blockchain being an external blockchain with which the external service is configured to interact, wherein the DID service is managed based on the second blockchain, one or more blockchain contracts associated with the second blockchain provide one or more functionalities comprising DID creation, and the request comprises a request for creating a DID; sending, by the client device, the request to a server associated with the external service; obtaining, by the client device from the server associated with the external service, a result responsive to the request comprising information recorded in a DID document associated with the DID, wherein the DID document is stored in the second blockchain; generating, by the client device, a blockchain transaction based on the result from the external service, wherein the blockchain transaction invokes the blockchain contract associated with the client-side application and deployed on the first blockchain to carry out a functionality of the client-side application; sending, by the client device, the blockchain transaction to the blockchain system for adding to the first blockchain; and obtaining, by the client device from the blockchain system, one or more return values associated with adding the blockchain transaction to the first blockchain. generating, by the client device, a request to an external service based on a software development kit, SDK, associated with the external service, wherein the SDK is integrated with the client-side application on the client device and the external service comprises a decentralized identifier, DID, service associated with a second blockchain being an external blockchain with which the external service is configured to interact, wherein the DID service is managed based on the second blockchain, one or more blockchain contracts associated with the second blockchain provide one or more functionalities comprising DID creation, and the request comprises a request for creating a DID; sending, by the client device, the request to a server associated with the external service; obtaining, by the client device from the server associated with the external service, a result responsive to the request comprising information recorded in a DID document associated with the DID, wherein the DID document is stored in the second blockchain; generating, by the client device, a blockchain transaction based on the result from the external service, wherein the blockchain transaction invokes the blockchain contract associated with the client-side application and deployed on the first blockchain to carry out a functionality of the client-side application; sending, by the client device, the blockchain transaction to the blockchain system for adding to the first blockchain; and obtaining, by the client device from the blockchain system, one or more return values associated with adding the blockchain transaction to the first blockchain.