问题描述
我正在像这样在盖茨比使用bigInt库
import BigInteger from 'bigi';
const signature = ecdsa.sign(shaMsg,BigInteger.fromBuffer(privateKey));
在生产版本中似乎存在一些我无法修复的polyfill问题。在localhost中运行时,没有问题。
所以我想我会尝试一个不同的bigInt库,看看它是否可以解决
import bigInt from "big-integer";
问题是该库没有fromBuffer
函数,上面代码中的signature
是类型缓冲区。
除了使用“ bigi”库中的函数之外,如何进行转换?
谢谢(这个问题甚至有意义,因为我不知道我在做什么)
编辑:为澄清起见,在开发版本(有效的版本)中进行控制台日志记录BigInteger.fromBuffer(privateKey)
:
BigInteger {0: 5218218,1: 6291014,2: 34656281,3: 1776116,4: 53518743,5: 10808093,6: 62725491,7: 63913863,8: 50275223,9: 1979384,t: 10,s: 0}
在生产环境中,如果该环境不起作用,则上面的日志相同
n {0: 5218218,s: 0}
我不知道会发生什么,也许问题出在以下评论者建议的ecdsa
库中
我在生产中遇到的错误是
Expected property "1" of type BigInteger,got n
编辑:我解决了这个问题,在其他地方得到了帮助,通过使用椭圆形而不是ecdsa进行签名,如下所示,这是一个ecsda问题。由于赏金我无法关闭,也无法发布答案,所以我不知道该怎么办