Attach Data
Attach Data
With the SDK, you can also attach public data to payments. This data is uploaded to a public blockchain, meaning it cannot be modified or deleted. This can be used as a data timestamping service and can lend transparency to activity in your app.
You may attach data in the following formats:
attachment: { format: 'base64', value: 'ABEiM0RVZneImQCqu8zd7v8=' }
attachment: { format: 'hex', value: '0011223344556677889900AABBCCDDEEFF' }
attachment: { format: 'json', value: {"param1": "value1", "param2": "value2"} }
To attach data, add an attachment
field to your payment parameters:
const {HandCashConnect} = require('@handcash/handcash-connect');
const handCashConnect = new HandCashConnect({
appId: '<app-id>',
appSecret: '<secret>',
});
const account = handCashConnect.getAccountFromAuthToken(token);
const paymentParameters = {
description: "Hold my beer!🍺",
payments: [
{ destination: 'nosetwo', currencyCode: 'DUR', sendAmount: 200 },
]
attachment: { format: 'json', value: {"param1": "value1", "param2": "value2"} },
};
const paymentResult = await account.wallet.pay(paymentParameters);
console.log(paymentResult);
// paymentResult
{
transactionId: '4c7b7cdc18702bb1a09c75a47bc2fa9630545761fbbd53b8c38735c73173e043',
note: 'Hold my beer!🍺',
type: 'send',
time: 1604958667,
satoshiFees: 113,
satoshiAmount: 10000,
fiatExchangeRate: 160.74284545024352,
fiatCurrencyCode: 'USD',
participants: [
{
type: 'user',
alias: 'nosetwo',
displayName: 'Nose two',
profilePictureUrl: 'https://res.cloudinary.com/hk7jbd3jh/image/upload/v1574787300/gntqxv6ed7sacwpfwumj.jpg',
responseNote: ''
}
],
attachments: [ { value: [Object], format: 'json' } ],
}
Updated about 2 months ago
Did this page help you?