Ontology 区块链开发

Ontology Blockchain development

我正在分析 Ontology 区块链。

Ontology 区块链的核心是用 Go 语言编写的,有许多可用的 SDK,其中一个是 TypeScript。

我看到桌面钱包是用TypeScript SDK写的。使用什么技术创建钱包应用程序并将其连接到区块链?

TypeScript SDK 如何与用 Golang 编写的 Ontology 区块链接口?

Ontology Golang 实现: https://github.com/ontio/ontology

Ontology TypeScript SDK: https://github.com/ontio/ontology-ts-sdk

OWallet(桌面钱包): https://github.com/ontio/OWallet

提供ontologyRESTFULAPI列表。下面... https://dev-docs.ont.io/#/docs-en/API/02-restful_api?id=restful-api-list.

OWallet 已声明 RESTFUL API 如下。 https://github.com/ontio/OWallet/blob/17e2e57fec6f04f79fd8582a8f9989aac517138c/src/core/consts.js

export const ONT_PASS_URL = {
  CreateSharedWallet: '/S1/api/v1/ontpass/SharedWallet/create',
  QuerySharedWallet: '/S1/api/v1/ontpass/SharedWallet/getBySharedWalletAddress', //get
  CreateSharedTransfer: '/S1/api/v1/ontpass/SharedTransfer/create',
  SignSharedTransfer: '/S1/api/v1/ontpass/SharedTransfer/sign',
  SendSharedTransfer: '/S1/api/v1/ontpass/SharedTransfer/isSendToChain', //get
  QueryPendingTransfer: '/S1/api/v1/ontpass/SharedTransfer/listSigningBeforeTime',
  // sharedAddress={sharedAddress}&assetName={assetName}&beforeTimeStamp={beforeTimeStamp},
  ExchangeCurrency: '/S1/api/v1/ontpass/api/v1/onto/exchangerate/reckon/'
    ///api/v1/onto/exchangerate/reckon/{currency}/{goaltype}/{amount}

    //for node stake
    ,
  GetQualifiedState: '/S4/NodePledgeApi/v1/Nodepledge/getQuailifiedState',
  // /NodePledgeApi/v1/Nodepledge/getQuailifiedState?ontid={ontid}&address={address}'
    DelegateSendTx: '/S4/NodePledgeApi/v1/Nodepledge/delegateSendTransaction',
    SetStakeInfo: '/S4/NodePledgeApi/v1/Nodepledge/setInfo',
    GetStakeInfo: '/S4/NodePledgeApi/v1/Nodepledge/info'
    // /NodePledgeApi/v1/Nodepledge/info?ontid={ontid}
}

OWallet 假定使用 ontology RESTFUL API.

Ontology 区块链实际上有 SDK 与之交互的三种方式:

1) 通过 Restful API

连接

2) 通过 RPC 连接 API

3) 通过 WebSockets 连接

OWallet 通过 Restful 客户端连接。其他应用程序和 SDK 使用 RPC 和 WebSockets。