那么,为什么我要效仿这个例子:
https://github.com/manolodewiner/query-mongodb-bigchaindb/blob/master/queryMongo.js
但是我使用的是bigChainDb提供的testnet服务器,所以我这样做:
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节点(例如,对dev和test),那么主机名应该是localhost,端口应该是27017,除非您做了一些更改这些值的事情。如果您在远程计算机上运行一个BigchainDB节点,并且您可以对该机器进行SSH操作,那么同样的情况也是如此。 如果您在远程计算机上运行一个BigchainDB节点,并将其MongoDB配置为使用auth并可公开访问(对具有授权的人而言),那么您可能会找到它的主机名和端口。
https://docs.bigchaindb.com/en/latest/query.html
在示例代码中,manolodewiner将其本地的bigchaindb与本地mongodb“配对”,这是默认设置,对吗?
但是在我当前的代码中,我显然是指向我的本地mongodb,但是大链是远程的,在大链的测试网络上,但是这不起作用--我的本地mongodb上没有写任何东西,也没有mongo查询工作,我应该做什么来将远程test.bigchaindb与本地mongodb“配对”呢?
发布于 2018-09-27 05:06:36
当前的BigchainDB测试网(at test.bigchaindb.com)不允许外部用户直接连接到其节点中的MongoDB实例。您也不能启动本地节点并将其添加到BigchainDB测试网。这是一个“许可网络”:现有的网络节点必须显式地将您的节点添加到网络中。
发布于 2021-03-22 01:01:24
所以我不明白重点是什么。我想要做概念的证明,但如果我无法验证数据是否“在网络上”持续存在,即使我的服务器“崩溃”,那么我只检查一个简单的传统mongoDB查询。
https://stackoverflow.com/questions/52525635
复制相似问题