聚焦资讯
服务于区块链创业者

BSC链签名验签充提币接口——node.js后端使用私钥进行签名的代码实现

chatGPT账号

一、说明
后端采用express模块组件处理前端html页面传递过来的ajax请求。从数据库中查询私钥,对请求中的参数进行hash处理,然后使用私钥签名产生签名消息,设置到response对象,返回前端处理结果。
注意事项如下:
  1. 静态资源包含html,css,img,js等需要放到public目录下,无须通过路由请求访问资源。public默认路径配置到express组件,通过如下代码:app.use(express.static(‘public’))
  1. 针对每个合约设置单独的合约js文件,需要放置到public目录下,直接在node.js中引用合约js文件中的变量,比如contractAddress、contractAbi
  1. 合约js文件要增加 module.exports设置,才能在node.js中引用
  1. 采用非数据源管理的数据库链接方式,链接使用完成后要及时的释放链接,避免造成链接资源浪费。
二、私钥签名功能代码实现
1、前端私钥进行签名的ajax请求代码实现
signPriKeyButton.addEventListener('click', () => {
            const wdaddress = document.querySelector('#wdaddress').value;
            const wdamount = document.querySelector('#wdamount').value;
            const wdnonce = document.querySelector('#wdnonce').value;
            axios.post('/signMessage', { wdaddress, wdamount, wdnonce })
                .then((res) => {
                const signature = res.data.signature;
                const messageHash = res.data.messageHash;
                
                contractAddressElement.innerText = contractAddress;
                contractAddressElement.style.textAlign = 'left'; // 添加左对齐样式
                contractNameElement.innerText = "Vault";
                contractNameElement.style.textAlign = 'left'; // 添加左对齐样式
                interfaceNameElement.innerText = "queryMessageHash(uint256, address, uint256)";
                interfaceNameElement.style.textAlign = 'left'; // 添加左对齐样式

                signatureElement.value = `${signature}`;
                hashedmgsElement.value = `${messageHash}`;
                signaturerElement.value = `${r}`;
                signaturesElement.value = `${s}`;
                signaturevElement.value = `${v}`;
                })
                .catch((err) => {
                    console.error(err);
                });
        });

2、后端node.js处理前端ajax请求的代码实现:

app.post('/signMessage', (req, res) => {
  const address = req.body.wdaddress;
  const amount = req.body.wdamount;
  const nonce = req.body.wdnonce;

  try {
    //产生签名消息逻辑代码实现
    console.log(signature);
    // 将签名结果发送回客户端
    res.json();
  } catch (error) {
    console.error(error);
    res.status(500).send('Internal Server Error:signMessage failure');
  }

});

至此,完成node.js后端使用私钥进行签名的代码实现所有操作流程。

BSC链签名验签充提币接口教程及node.js后端+solidity链端合约源代码下载:

BSC链签名验签充提币接口教程及node.js后端+solidity链端合约源代码下载地址:

此内容仅供注册用户可见,请登录!

添加VX或者telegram获取全程线上免费指导

免责声明

发文时比特币价格:$24249

免责声明:

本文不代表行至网立场,且不构成投资建议,请谨慎对待。用户由此造成的损失由用户自行承担,与行至网没有任何关系;

行至网不对网站所发布内容的准确性,真实性等任何方面做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,行至网对项目的真实性,准确性等任何方面均不做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,行至网不对其构成任何投资建议,用户由此造成的损失由用户自行承担,与行至网没有任何关系;

行至区块链研究院声明:行至区块链研究院内容由行至网发布,部分来源于互联网和行业分析师投稿收录,内容为行至区块链研究院加盟专职分析师独立观点,不代表行至网立场。

chatGPT账号
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,未经允许不得转载。
文章名称:《BSC链签名验签充提币接口——node.js后端使用私钥进行签名的代码实现》
文章链接:https://www.xingzhi.io/webthree/17558.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

服务于区块链创业者

业务范围商务合作

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的区块链世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录后才能复制或下载网站内容