Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Parvinder Thapar
    Here's the updated doTransfer Method:
    public Transaction doTransfer(String lastTxId, String createTxId, MetaData metaData, KeyPair keys) throws Exception {
        try {
            //which transaction you want to fulfill?
            FulFill fulfill = new FulFill();
            //build and send TRANSFER transaction
            Transaction transaction = BigchainDbTransactionBuilder
                    .addInput(null, fulfill, (EdDSAPublicKey) keys.getPublic())
                    .addOutput("1", (EdDSAPublicKey) keys.getPublic())
                    .addAssets(createTxId, String.class)
                    .buildAndSign((EdDSAPublicKey) keys.getPublic(), (EdDSAPrivateKey) keys.getPrivate())
            System.out.println("(*) TRANSFER Transaction sent.. - " + transaction.getId());
            return transaction;
        } catch (IOException e) {
            // TODO Auto-generated catch block
        return null;

    @psthapar Thanks for the help. I appreciate it. To make sure I understand correctly what you are saying above:

    lastTxId = appendTransactions.get(appendTransactions.size() - 1).getId();
    apAppendTransactions = appendTransactionRetrieve.getTransactionsByAssetId(originalTxId, Operations.TRANSFER).getTransactions();


    createTxId = originalTxId;

    Did I understand you correctly?

    Parvinder Thapar
    @adonnini Yes. Barring the syntax, your psuedo code seems right. Try it out and let me know.
    @psthapar It seems to be working as expected. I had to make a few changes to allow for how I used the blockchain but it seems to work. Again, thanks.
    Parvinder Thapar
    Great. Thanks for letting me know @adonnini . You are very welcome. Glad it worked out for you.
    Parvinder Thapar
    Hi all, BigChain DB talks about "Burn" capability to essentially mimic "delete" (since an asset cannot be essentially be deleted in the world of blockchain). Is there any examples of "burning" an asset using Java libraries?
    CC: @adonnini @ttmc
    Troy McConaghy
    @psthapar It's not complicated, you just transfer the asset to a public key where the associated private key is not known. The asset still exists in an unspent transaction output, but nobody can spend it.
    Parvinder Thapar
    @ttmc aah....makes sense. However, even with an unspent transaction output, the asset would still be query-able and found. Wouldn't it (just wondering!?). One of my goals is to ensure that once burned, it's never found again, even in read-mode. Thoughts?
    Troy McConaghy
    @psthapar The nature of most normal blockchains (like BigchainDB) is that:
    1) all the stored data is publicly readable (and auditable) forever.
    2) no stored data can be deleted or changed.
    If that's not what you want, then you don't want a blockchain.
    Parvinder Thapar
    @ttmc Not what I wanted to hear but it is what it is :-) .... Thanks.
    The only strategy that I can think of to get close to what I want is:
    1) Use Private/ Permissioned Blockchain
    2) Use Business Logic Layer to manage data and use strategies to limit (or eliminate) views to burned assets such as purging assetId, public & private keys etc.
    Understandable it's not fail-proof but having some strategy is better than not having one at all. My 2 cents!
    Troy McConaghy
    Yes, a private blockchain can certainly restrict read access, but that happens outside the blockchain itself.
    Parvinder Thapar
    Yep. Agreed. Thanks.
    I'm having an issue posting transactions
    is this where I would get some insight?
    Parvinder Thapar
    Hi @CodyMTX what drivers are you using? js or java drivers?
    @psthapar I am using JavaScript and also got the error with the Python drivers...leading me to believe it may be a configuration issue on my part? I have the docker installation running flawlessly, but can't seem to replicate it outside in a prod env
    Diego Sierra Fernandez
    Is someone using js-driver-orm?
    I'm trying to change the owner of an asset but when it reachs the append nothing happends.
    router.post('/transfer', function(req, res) {
        .then(assets => {
            const did = new DID(req.body.assetPublicKey);
            .then(asset => {
                // [ OrmObject {
                //     _name: 'test',
                //     _schema: undefined,
                //     _connection:
                //      Connection {
                //        path: 'http://localhost:9984/api/v1/',
                //        headers: {},
                //        conn: [Connection] },
                //     _appId: 'global',
                //     transactionHistory: [ [Object] ],
                //     id: 'id:global:test:99040993-0fa3-4c32-9d54-f6d83a65fb1f',
                //     data: { myData: '', ownerName: 'Juan Diego' } } ]
                return asset.append({
                    toPublicKey: req.body.destPublicKey,
                    keypair: req.body.ownerKeyPair,
                    data: {
                        myData: req.body.data,
                        ownerName: req.body.ownerName
            .then(updatedAsset => {
                console.log("This message does not appear")
    Shivank Chopra
    Hi everyone. For testing the tamper resistance of data stored on bigchainDB, I intentionally changed the asset and metadata stored on the bigchain mongo database to random values. But it didnt seem to affect the working of bigchain db node. Should'nt the blockchain become invalid due to changed hash value because of this?
    I am having an issue in this line of code
    const alice = new BigchainDB.Ed25519Keypair(seed)
    at Object.encode (/Users/apple/Documents/big_chaindb/node_modules/base-x/index.js:29:41)
    at new Ed25519Keypair (/Users/apple/Documents/big_chaindb/node_modules/bigchaindb-driver/dist/node/Ed25519Keypair.js:28:33)

    if (!Buffer.isBuffer(source)) throw new TypeError('Expected Buffer')

    TypeError: Expected Buffer

    can anyone help
    Troy McConaghy
    @Vishal1010101 I think something is wrong with the JS driver in npm. If you get the JS driver straight from GitHub, I think that one is working. https://github.com/bigchaindb/js-bigchaindb-driver
    Thanks man @ttmc seems like there is an issue with the Ed25519Keypair.js file through npm.
    It's solved in the github commit.
    querying for the metadata gives an error where as assets is working fine with the url
    status: '500 INTERNAL SERVER ERROR'
    also changing the url to http://localhost:9984/api/v1/ in api_path is also giving an error { FetchError: request to http://localhost:9984/api/v1/metadata?search=1.32 failed, reason: connect ECONNREFUSED
    Troy McConaghy
    @Vishal1010101 Put double quotes (%22) around the 1.32 in the requestURI, e.g. https://test.bigchaindb.com/api/v1/metadata?search=%221.32%22
    @tttmc why we have to give a specific url in the API_PATH shouldn't it be working with "https://test.bigchaindb.com/api/v1/" as it is working fine with assets
    Troy McConaghy
    I don't know. Reality is strange, sometimes.
    @ttmc indeed it is
    FetchError: request to http://localhost:9984/api/v1/transactions?mode=commit failed, reason: connect ECONNREFUSED
    @ttmc help man
    Troy McConaghy
    @Vishal1010101 Do other endpoints work? Such as just http://localhost:9984
    yes it does
    i am using the docs and running the same code
    hello guys , i installed bigchaindb-driver but still getting an error saying bip39 is not found , how should i fix it ??
    Troy McConaghy
    @abhi-nilekar The JavaScript driver available from npm is broken (and I don't know how to fix it) but I do know that the JavaScript driver available directly from the JavaScript driver GitHub repo is working, at least in that regard. See https://github.com/bigchaindb/js-bigchaindb-driver
    Robel kebede
    i am having trouble transferring asset bigchaindb:all-in-one image and bigchaindb-driver:4.0.0
    Robel kebede
    TypeError: Cannot read property '0' of undefined
    _app_1 | at /app/node_modules/bigchaindb-driver/dist/node/transaction.js:285:49
    _app_1 | at Array.map (<anonymous>)
    _app_1 | at Function.makeTransferTransaction (/app/node_modules/bigchaindb-driver/dist/node/transaction.js:280:41)
    _app_1 | at Promise (/app/foodchain.js:205:60)
    _app_1 | at new Promise (<anonymous>)
    _app_1 | at foodchain.transferAsset (/app/foodchain.js:198:16)
    _app_1 | at app.post (/app/index.js:49:13)
    _app_1 | at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    _app_1 | at next (/app/node_modules/express/lib/router/route.js:137:13)
    _app_1 | at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
    i am having trouble transferring asset bigchaindb:all-in-one image and bigchaindb-driver:4.0.0
    lakshit singh
    Hi everyone, I have been able to generate the keys of a create transactions but the data is not showing up in bigchaindb trying collection.asset.find() yields no result but the postedTransaction is successfully returning the created asset

    How to get all available Assets?
    How to get all assets for particular public Key/private key?

    Using below URL to retrieve the specific assets/metadata using search criteria


    @robelkebede44 Hi Robel,

    I am having the same problem.

    I am using nodejs driver 4.1.0 as the 4.1.1 appears not to work properly.

    How did you resolve this when running the function? driver.Transaction.makeTransferTransaction(

    when i send this transaction
    const tx = BigchainDB.Transaction.makeCreateTransaction(
    // Define the asset to store, in this example it is the current temperature
    // (in Celsius) for the city of Berlin.
    { message:'thsa is my forbmnfds '},
                // Metadata contains information about the transaction itself
                // (can be `null` if not needed)
                // A transaction needs an output
                [ BigchainDB.Transaction.makeOutput(
            // Sign the transaction with private keys
            const txSigned = BigchainDB.Transaction.signTransaction(tx, alice.privateKey)
            // Send the transaction off to BigchainDB
            let conn = new BigchainDB.Connection(API_PATH)