在 ION SIDETREE 测试网中生成 DID

Generate DID in ION SIDETREE testnet

我已成功部署 ION SIDETREE 测试网。

我关注了这个install instruction。但是当我创建 DID 时,它返回了主网的 DID。

不知道哪里错了

这是我的配置:

第 1 步:我使用此命令 运行 比特币:

root@ion:~/bitcoin-0.20.1# ./bin/bitcoind -testnet -rpcuser=admin -rpcpassword=admin -fallbackfee=0.0002 -txindex=1 -server

这是输出日志 第 2 步:我配置 ION Sidetree

这是我的配置:

root@ion:~/ion/json# cat testnet-bitcoin-config.json
{
   "bitcoinDataDirectory": "/root/.bitcoin/testnet3",
   "bitcoinFeeSpendingCutoffPeriodInBlocks": 1,
   "bitcoinFeeSpendingCutoff": 0.001,
   "bitcoinPeerUri": "http://localhost:18332",
   "bitcoinRpcUsername": "admin",
   "bitcoinRpcPassword": "admin",
   "bitcoinWalletOrImportString": "cMj4VE3WyJt6RAQVGboDATFQ6YAVKo6fCVXw7oKuSpaAfNJqCuV1",
   "databaseName": "ion-testnet-bitcoin",
   "genesisBlockNumber": 1900000,
   "logRequestError": true,
   "mongoDbConnectionString": "mongodb://127.0.0.1:27017/",
   "port": 3002,
   "sidetreeTransactionFeeMarkupPercentage": 1,
   "sidetreeTransactionPrefix": "ion:test",
   "transactionPollPeriodInSeconds": 60,
   "valueTimeLockUpdateEnabled": false,
   "valueTimeLockAmountInBitcoins": 0,
   "valueTimeLockPollPeriodInSeconds": 600,
   "valueTimeLockTransactionFeesAmountInBitcoins": 0.0001
}

root@ion:~/ion/json# cat  testnet-core-config.json
 {
   "batchingIntervalInSeconds": 600,
   "blockchainServiceUri": "http://127.0.0.1:3002",
   "databaseName": "ion-testnet-core",
   "didMethodName": "ion:test",
   "ipfsHttpApiEndpointUri": "http://127.0.0.1:5001",
   "maxConcurrentDownloads": 20,
   "mongoDbConnectionString": "mongodb://127.0.0.1:27017/",
   "observingIntervalInSeconds": 60,
   "port": 3000
}

第三步:我运行比特币

root@ion:~/ion# npm install
root@ion:~/ion/json# npm run build
root@ion:~/ion/json# npm run bitcoin

这是输出日志

第四步:我运行核心

root@ion:~/ion# npm run core

这是输出日志

第 5 步:我构建 ION

root@ion:~# cd ion/
root@ion:~/ion# npm install
root@ion:~/ion# npm run build
root@ion:~/ion# npm install -g .

第 6 步:我生成 DID

root@ion:~/ion# ion operation create

这是输出日志

这是我的问题,我不知道为什么我在 运行ning testnet 但它创建了 DID 作为主网。所以,当我解决DID的时候,就证明了这个错误

谢谢。

But when I use command "ion operation create"...

CLI 完全是实验性的(因为它使用的是测试库)并且自去年以来开发暂停,我们没有预料到任何人会知道它,因为我们没有在首页上做广告,但我有刚刚打开了一个 PR 以使其使用 ION SDK,它应该很快就会合并,我不确定它是否在我的 PR 之前工作(可能是),但它现在肯定可以工作。

That DID belongs to mainet.

编写 CLI 时假设它以主网为目标。但没关系,该请求将在测试网上完美运行。 DID 字符串中的 test: 前缀大部分纯粹是装饰性的。

But with my DID (generate by myself), it shows this error

由于您正在测试测试网 DID 并且您的节点是这样设置的("didMethodName": "ion:test", 在您上面的配置中看到),因此您必须在您唯一的 DID 后缀字符串前加上 did:ion:test:<unique_suffix>,您没有t 在您的屏幕截图中,因此出现错误。我希望这是有道理的。您在屏幕截图中看到的错误消息也正是这样说的。

Step 3: I resolve with DID "did:ion:test:EiC3YoSodQ20tJcgKjLXr65BHr2KwnQWsUnm3VOiYUFMeA", but It proved "not found"

ION DID 工具应该可以工作。理智:假设您已将节点设置为能够写入,您是否等待该交易被确认?您可以通过检查每 10 分钟(基于您的配置 "batchingIntervalInSeconds": 600,)启动批处理写入器时打印出的事务哈希来进行检查。即使 post 立即请求 returns DID 文档,这只是为了方便您了解 1. 节点接受了您的请求并将其排队,以及 2. 显示您的 DID 文档的外观一旦确认,纯粹是为了您的方便。但我们都知道比特币交易需要一段时间才能确认,尤其是在测试网上,确认时间更难预测。