问题描述
我的JavaScript代码出现错误,该错误要求从Waves钱包请求公共密钥。你们能帮我得到吗?这是阻止我的代码运行的唯一方法。我需要公共密钥。
我这里有公共密钥,我只需要一种在JavaScript代码中实现它的方法。
这是我部署后在Firebase中的错误:
登录Firebase:
在其API中显示:https://testnode1.wavesnodes.com/api-docs/index.html 得到 / addresss / publicKey // {publicKey}
这里是链接:https://pastebin.com/AqswyjVC
const functions = require('firebase-functions');
exports.distributeStakingRewards = functions.pubsub.schedule('every 1 minutes').onRun((context) => {
const request = require('request')
//Fetch list of users who has a positive balance for your asset..
const assetID = 'xxx'
request('https://testnode1.wavesnodes.com/assets/' + assetID + '/distribution',function(err,res,body) {
if (res.statusCode === 200) {
const bodyJSON = JSON.parse(body)
var transfers = []
for (uid in bodyJSON) {
var bal = bodyJSON[uid]
//Set minimum balance to get rewarded
if (bal >= 1) {
var reward = '0.005'
var transfer = { recipient: uid,amount: reward }
transfers.push(transfer)
}
}
const waves = require('waves-transactions')
const nodeUrl = 'https://testnode1.wavesnodes.com/'
const params = { transfers: transfers,assetId: assetID,attachment: 'Weekly staking rewards payout',timestamp: Date.Now() }
const signedTx = waves.masstransfer(params,{
'privateKey': 'xxxx',}
)
const id = signedTx.id
waves.nodeInteraction.broadcast(signedTx,nodeUrl).then(tx => {
//If tx returns null or undefined tx.id will be undefined === false
if (tx.id === id) {
console.log('Successfully distributed staking rewards for ' + new Date().toDateString() + 'was complete')
} else {
console.log('Unable to distribute staking rewards for ' + new Date().toDateString())
}
})
} else {
console.log('unable to fetch asset distribution ' + err)
}
})
})