public Transaction doTransfer(String lastTxId, String createTxId, MetaData metaData, KeyPair keys) throws Exception {
try {
//which transaction you want to fulfill?
FulFill fulfill = new FulFill();
fulfill.setOutputIndex(0);
fulfill.setTransactionId(lastTxId);
//build and send TRANSFER transaction
Transaction transaction = BigchainDbTransactionBuilder
.init()
.addInput(null, fulfill, (EdDSAPublicKey) keys.getPublic())
.addOutput("1", (EdDSAPublicKey) keys.getPublic())
.addAssets(createTxId, String.class)
.addMetaData(metaData)
.operation(Operations.TRANSFER)
.buildAndSign((EdDSAPublicKey) keys.getPublic(), (EdDSAPrivateKey) keys.getPrivate())
.sendTransaction(handleServerResponse());
System.out.println("(*) TRANSFER Transaction sent.. - " + transaction.getId());
return transaction;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
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();
where
apAppendTransactions = appendTransactionRetrieve.getTransactionsByAssetId(originalTxId, Operations.TRANSFER).getTransactions();
and
createTxId = originalTxId;
Did I understand you correctly?
router.post('/transfer', function(req, res) {
conn.searchAssets(req.body.assetName)
.then(assets => {
const did = new DID(req.body.assetPublicKey);
did.define(req.body.modelName);
did.models[req.body.modelName]
.retrieve(assets[0].id)
.then(asset => {
console.log(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")
console.log(updatedAsset);
res.send(updatedAsset);
})
})
});
/Users/apple/Documents/big_chaindb/node_modules/base-x/index.js:29
if (!Buffer.isBuffer(source)) throw new TypeError('Expected Buffer')
^
TypeError: Expected Buffer