我有一个演示代码,我想研究一下:
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,如下所示:
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中运行ok。但是,当试图对其进行溴化时,创建一个文件main.js (上面的代码)时就会出现这个问题,并且:
browserify main.js -o bundle.js
Error: Cannot find module 'ethereumjs-tx' from 'myHomeDir'在我看来,我的nodejs有一个用于ethereumjs的文件夹,这对我来说是可以的:
# 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对于如何使这段代码被溴化有什么提示吗?我做错了什么?谢谢!
发布于 2017-01-11 08:46:06
您需要在本地安装任何模块,以便对其进行浏览器化。至少,我没有找到任何选项,使浏览器处理全球安装的软件包。
因此,在您的项目的根,您需要做:
npm install ethereumjs-tx --save-dev--save表示该包不仅将被下载到本地node_modules文件夹,而且还将修改您的package.json并写下依赖项,因此在package.json上的任何进一步的npm install命令都将以相同的版本安装ethereumjs-tx。
-dev表示包将保存为开发依赖项,这意味着您的应用程序在生产中使用的包不是节点应用程序:因此,要在客户端使用的每个包都应该是devDependency。
运行npm install时,npm期望存在有效的package.json。npm所抱怨的警告是由于您的项目中不存在此package.json,因此没有一些package.json字段(如description )。当您没有package.json时,初始化一个npm init的一种简单方法是运行npm init。
实际上,您似乎是在'/root/‘创建包,这似乎是web项目的一个狭窄位置。
https://stackoverflow.com/questions/41585654
复制相似问题