1

那么为什么我要遵循这个例子:

https://github.com/manolodewiner/query-mongodb-bigchaindb/blob/master/queryMongo.js

但我使用的是 bigChainDb 提供的测试网服务器,所以我这样做:

const MongoClient = require('mongodb').MongoClient;


const urlMongo = 'mongodb://localhost:27017'

const dbName = 'bigchain'




let conn = new driver.Connection('https://test.bigchaindb.com/api/v1/', { 
    app_id: 'yyyyyy',
    app_key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
})

const alice = new driver.Ed25519Keypair();
const bob = new driver.Ed25519Keypair();

const assetdata = {
    'invoice': {
            'invoiceNo': '811',
            'issuedBy': 'supplier1',
    }

}

这显然是错误的,因为根据此处的文档:

如何连接到 MongoDB 在查询 MongoDB 数据库之前,您必须连接到它,为此,您需要知道它的主机名和端口。

如果您在本地机器上运行 BigchainDB 节点(例如用于开发和测试),那么主机名应该是 localhost,端口应该是 27017,除非您更改了这些值。如果您在远程机器上运行 BigchainDB 节点并且可以通过 SSH 连接到该机器,那么情况也是如此。

如果您在远程机器上运行 BigchainDB 节点,并且您将其 MongoDB 配置为使用 auth 并且可公开访问(对有授权的人),那么您可能会找出它的主机名和端口。

https://docs.bigchaindb.com/en/latest/query.html

在示例代码中,manolodewiner 将他的本地 bigchaindb 与本地 mongodb“配对”,这是默认设置,对吧?

但是在我当前的代码中,我显然指向我的本地 mongodb,但 bigchain 是远程的,在 bigchain 的测试网络上,但这不起作用——我的本地 mongodb 上没有写任何东西,也没有 mongo 查询在工作,我应该怎么做为了将远程test.bigchaindb与我的本地mongodb“配对”?

4

2 回答 2

1

当前的 BigchainDB 测试网(位于 test.bigchaindb.com)不允许外部用户直接连接到其节点中的 MongoDB 实例。您也不能启动本地节点并将其添加到 BigchainDB 测试网。这是一个“许可网络”:现有网络节点必须明确地将您的节点添加到网络中。

于 2018-09-27T05:06:36.893 回答
-1

所以我不明白重点是什么。我想做概念验证,但如果我无法验证数据是否“在网络上”持续存在,即使我的服务器“崩溃”,那么我只检查一个简单的传统 mongoDB 查询.

于 2021-03-22T01:01:24.497 回答