gpt4 book ai didi

javascript - 如何浏览模块 ethereumjs-tx?

转载 作者:行者123 更新时间:2023-11-30 09:40:01 28 4
gpt4 key购买 nike

我有这个演示代码,我想对其进行分类:

var Tx = require('ethereumjs-tx')
var privateKey = new Buffer('e331b6d69882b4cb4ea581d88e0b604039a3de5967688d3dcffdd2270c0fd109', 'hex')

var rawTx = {
nonce: '0x00',
gasPrice: '0x09184e72a000',
gasLimit: '0x2710',
to: '0x0000000000000000000000000000000000000000',
value: '0x00',
data: '0x7f7465737432000000000000000000000000000000000000000000000000000000600057'
}

var tx = new Tx(rawTx)
tx.sign(privateKey)

var serializedTx = tx.serialize()
console.log(serializedTx.toString('hex'))

我已经像这样成功地安装了 ethereum-tx:

npm install -g ethereumjs-tx
...
npm WARN enoent ENOENT: no such file or directory, open '/root/package.json'
npm WARN root No description
npm WARN root No repository field.
npm WARN root No README data
npm WARN root No license field.

我不确定这些警告消息是否重要,或者我应该忽略它们...

尽管如此,上面的代码在 nodejs 中运行正常。但是当尝试对其进行 broserify 时出现问题,创建一个文件 main.js 上面的代码和:

browserify main.js -o bundle.js
Error: Cannot find module 'ethereumjs-tx' from 'myHomeDir'

我的 nodejs 有一个 ethereumjs-tx 的文件夹,我觉得没问题:

# ls -la /usr/local/lib/node_modules/ethereumjs-tx/
total 84
drwxr-xr-x 6 nobody root 4096 Jan 11 08:46 .
drwxr-xr-x 6 root root 4096 Jan 11 08:46 ..
drwxr-xr-x 2 nobody root 4096 Dec 14 00:14 docs
drwxr-xr-x 2 nobody root 4096 Dec 14 00:14 examples
-rw-r--r-- 1 nobody root 2028 Dec 14 00:14 fake.js
-rw-r--r-- 1 nobody root 7395 Dec 15 03:40 index.js
-rw-r--r-- 1 nobody root 600 Dec 14 00:14 karma.conf.js
-rw-r--r-- 1 nobody root 16726 Dec 14 00:14 LICENSE
drwxr-xr-x 76 root root 4096 Jan 11 08:46 node_modules
-rw-r--r-- 1 nobody root 1187 Dec 14 00:14 .npmignore
-rw-r--r-- 1 nobody root 3955 Dec 14 00:18 .package.json
-rw-r--r-- 1 nobody root 4369 Jan 11 08:46 package.json
-rw-r--r-- 1 nobody root 1871 Dec 15 03:40 README.md
drwxr-xr-x 2 nobody root 4096 Jan 11 08:46 test
-rw-r--r-- 1 nobody root 599 Dec 14 00:14 .travis.yml

有关如何使此代码更友好的任何提示?我究竟做错了什么?谢谢!

最佳答案

您需要在本地安装任何模块才能对其进行浏览器化。至少,我没有找到任何选项来让 browserify 与全局安装的包一起工作。

因此,在项目的根目录中,您需要执行以下操作:

npm install ethereumjs-tx --save-dev

--save 表示包不仅会下载到本地的node_modules文件夹,还会修改你的package.json和记下依赖关系,因此在 package.json 上执行任何进一步的 npm install 命令都会安装具有相同版本的 ethereumjs-tx

-dev 表示该包将被保存为开发依赖项,这意味着不是您的应用程序在生产中使用的包作为 Node 应用程序:所以每个要在客户端使用的 bundle 应该是 devDependency。

当您运行 npm install 时,npm 需要一个有效的 package.json 存在。 npm 提示的警告是由于您的项目中不存在此 package.json,因此没有一些 package.json 字段,例如 description。当您没有 package.json 时,一种简单的初始化方法是运行 npm init

事实上,您似乎是在“/root/”处创建包,这似乎是 Web 项目的一个重要位置。

关于javascript - 如何浏览模块 ethereumjs-tx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585654/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com