当前位置: 首页 > 知识库问答 >
问题:

节点。js UnhandledPromiseRejection:TypeError:无法读取未定义的属性“sign”

胡鸿禧
2023-03-14

tran.js

var CoinStack = require('coinstack-sdk-js')

var coinstackclient = new CoinStack('YOUR_COINSTACK_ACCESS_KEY',
'YOUR_COINSTACK_SECRET_KEY'); // Actual keys not shown

var privateKeyWIF = CoinStack.ECKey.createKey(); //개인키 생성

var txBuilder = coinstackclient.createTransactionBuilder();
txBuilder.addOutput("1Q8xE8T3G9mxRoDUde6gDSxnK1uCac2kqh", 
CoinStack.Math.toSatoshi("0.01"))
txBuilder.setInput("1Q8xE8T3G9mxRoDUde6gDSxnK1uCac2kqh");
  txBuilder.buildTransaction(function(err, tx) {
  tx.sign(privateKeyWIF)
  var rawTx = tx.serialize()
  // send tx
  client.sendTransaction(rawTx, function(err) {
    if (null != err) {
        console.log("failed to send tx");
      }
   });
});

错误

(节点:12012)未处理的PromisejectionWarning:未处理的promise拒绝(拒绝id:1):TypeError:无法读取未定义(节点:12012)[DEP0018]弃用警告:未处理的promise拒绝被弃用。将来,未处理的promise拒绝将终止节点。具有非零退出代码的js进程。

我不知道该怎么办

共有3个答案

濮阳祯
2023-03-14

最有可能的txBuilder.buildTransaction()失败,实际上回调函数中的tx参数不是预期的对象。

在使用tx之前,您应该检查错误,如下所示:

txBuilder.buildTransaction(function(err, tx) {
    if (err) {
        // output err or do something with it
        console.log('failed to build transaction');
        console.log(err);

        // stop here.
        return;
    }


    tx.sign(privateKeyWIF)
    var rawTx = tx.serialize();
        // send tx
        client.sendTransaction(rawTx, function(err) {
        if (err) {
            console.log("failed to send tx");
        }
    });
});
薛兴德
2023-03-14

检查tx是否为null或未定义的,然后为ex调用其函数,例如if(ex!=null

鲁烨熠
2023-03-14

回调的第二个参数'tx'很可能是未定义的。

 类似资料:
  • 我试图添加盐到我的密码,但我有这个错误: (节点:12652)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“value” (节点: 12652)UnhandledPromiseRejse警告:未处理的promise拒绝。这个错误要么是由于抛出一个没有捕获块的异步函数,要么是由于拒绝了一个没有用. cat()处理的promise。(拒绝id: 1) (

  • 机器人随机崩溃并发出此错误。我已经将它编程为每当有问题时自动重新启动,并记录错误,因为它的技术上意味着不关机。 用于自动重新启动的代码如下: 我似乎也被“未经处理的承诺拒绝”...

  • 下午好,我是新反应和Node.js和我有一个问题。 我在一个网页上有一个表格,你将在那里收到旅行的数据。travel_order模型中存在这些列(Id locales、name、date、time),但是“lockations name”列旨在使用Id列出这些地方的名称。此位置的ID在“地点ID”列中列出。但是,在列出时,它给我一个错误:“TypeError:不能读取未定义的属性'Designac

  • 在类中使用其他方法时遇到问题。我正在使用express framework,必须使用Ecma脚本6。当我尝试在同一类中使用方法时,出现了一个错误: 无法读取未定义的属性“generatePassword” TypeError:无法读取属性'GeneratePassword'的未定义在createUser(E:\OpenServer\域\testNode\app\控制器\users.js: 5:13

  • 为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用

  • 问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之