首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何浏览模块ethereumjs?

如何浏览模块ethereumjs?
EN

Stack Overflow用户
提问于 2017-01-11 08:07:52
回答 1查看 962关注 0票数 1

我有一个演示代码,我想研究一下:

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
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 (上面的代码)时就会出现这个问题,并且:

代码语言:javascript
复制
browserify main.js -o bundle.js
    Error: Cannot find module 'ethereumjs-tx' from 'myHomeDir'

在我看来,我的nodejs有一个用于ethereumjs的文件夹,这对我来说是可以的:

代码语言:javascript
复制
# 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

对于如何使这段代码被溴化有什么提示吗?我做错了什么?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-11 08:46:06

您需要在本地安装任何模块,以便对其进行浏览器化。至少,我没有找到任何选项,使浏览器处理全球安装的软件包。

因此,在您的项目的根,您需要做:

代码语言:javascript
复制
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项目的一个狭窄位置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41585654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档