I want to integrate crypto wallet service api to my adalo app.
Creation of HMAC SHA256 signature is what I have to do.
Tool which can use node.js like bubble.io.
I tested it is available by using Toolbox plugin (3rd party component) on Bubble.
But I don’t want to migrate to Bubble.
I request Team Adalo support this issue and release official component to support this and it will be really appreciated by Adalo community.
It will be very much more simple than Toolbox plugin from Bubble.io .
By the way, this is the guide life from Wallet service company. It will be same with other crypto exchanges.
● SIGNED endpoints require an additional parameter, signature, to be sent in the query string or request body.
● Endpoints use HMAC SHA256 signatures. The HMAC SHA256 signature is a keyed HMAC SHA256 operation. Use your secretKey as the key and totalParams as the value for the HMAC operation.
● totalParams is defined as the query string concatenated with the request body.
● All requests require an API Key value in the authentication header AUTH-APIKEY.
● All requests require a Hash SIGNED in the authentication header AUTH-SIGNATURE.
SIGNED Endpoint Examples
Key Value (Sample)
apiKey : vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
secretKey : NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j
Parameter Value
user_id : test@naver.com
symbol : BTC
timestamp : 1499827319
- Sample Code for Signature creation
This is the sample node.js code to be run for HMAC SHA256 signatures
var crypto = require(‘crypto’);
var ts = Math.floor(+new Date() / 1000);
var sec = ‘5c6c31ba-b58c-4663-a034-6f5ca000322d’;
var data = {
bid: bid,
email: email,
timestamp: ts
}
var queryString = ;
for( var p in data )
{
if(data.hasOwnProperty(p))
{
queryString.push(p + “=” + data[p]);
}
}
queryString = queryString.join(“&”);
var secretHash = crypto.createHmac(‘sha256’, sec).update(queryString).digest(‘hex’);
● HMAC SHA256 Signature (Sample Result)
$ echo -n “user_id=lotto_1&symbol=ETH×tamp=1499827319559” openssl dgst -sha256 -hmac “NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j”
(stdin)= ea2972c8025832781eb6b947d4108a85d4d4a9ec7be0092473399b9741b448ee