ethereumjs/browser-builds

https://github.com/ethereumjs/browser-builds

ethereumjs - Browser Builds

This repository contains browser builds of the following ethereumjs libraries:

这个存储库包含以下ethereumjs库的浏览器构建(其实就是将下面的ethereumjs库构造成浏览器能够使用的js文件形式)

They are built using browserify with a known set of working dependencies.

使用带着具有一组已知的工作依赖项的browserify来构建

For every library/build collection there is a larger plain source version also including the source mappings (e.g. ethereumjs-vm-x.x.x.js) and a minified version for use in production (e.g. ethereumjs-vm-x.x.x.min.js).

这里对每个库/构建收集有一个更大的包含资源映射(比如ethereumjs-vm-x.x.x.js) 的纯资源版本,以及在生产时使用的简化版本 (比如ethereumjs-vm-x.x.x.min.js)

Note注意:

This repository was just lately (October 2017) revived. Currently all builds are considered experimental in terms of API stability, functionality and security!

这个存储库最近(2017/10)才恢复使用。目前,从API的稳定性、功能和安全性来看,所有构建都是实验性的

Usage使用

In your web application, include only one of the builds from the dist directory. All exports will be available under the global ethereumjs.

在你的web应用中,只包含来自dist目录之一的构建。在全局变量ethereumjs下,所有的构建都是可用的

Note: all packages expect ECMAScript 6 (ES6) as a minimum environment. From browsers lacking ES6 support, please use a shim (like es6-shim) before including any of the builds from this repo.

注意:所有包都期待使用 ECMAScript 6 (ES6) 作为最小的环境。如果浏览器缺少ES6支持,从该存储库中包含任何构建之前,请使用shim(like es6-shim)

Examples例子

Examples for usage of the browser builds can be found in the examples directory:

vm.html

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>EthereumJS VM - Browser Example</title>
</head>

<body>
  <script src="../dist/ethereumjs-vm/ethereumjs-vm-2.3.1.js"></script>

  <script>
    var vm = new ethereumjs.VM()

    var code = ‘7f4e616d65526567000000000000000000000000000000000000000000000000003055307f4e616d6552656700000000000000000000000000000000000000000000000000557f436f6e666967000000000000000000000000000000000000000000000000000073661005d2720d855f1d9976f88bb10c1a3398c77f5573661005d2720d855f1d9976f88bb10c1a3398c77f7f436f6e6669670000000000000000000000000000000000000000000000000000553360455560df806100c56000396000f3007f726567697374657200000000000000000000000000000000000000000000000060003514156053576020355415603257005b335415603e5760003354555b6020353360006000a233602035556020353355005b60007f756e72656769737465720000000000000000000000000000000000000000000060003514156082575033545b1560995733335460006000a2600033545560003355005b60007f6b696c6c00000000000000000000000000000000000000000000000000000000600035141560cb575060455433145b1560d25733ff5b6000355460005260206000f3‘

    console.log(‘Code to be run in the VM:‘)
    console.log(code)

    vm.on(‘step‘, function (data) {
      console.log(data.opcode.name)
    })

    vm.runCode({
      code: ethereumjs.Buffer.Buffer.from(code, ‘hex‘),
      gasLimit: ethereumjs.Buffer.Buffer.from(‘ffffffff‘, ‘hex‘)
    }, function (err, results) {
      console.log(‘returned: ‘ + results.return.toString(‘hex‘))
      console.log(‘gasUsed: ‘ + results.gasUsed.toString())
      console.log(err)
    })
  </script>
</body>
</html>

Start an http-server from the main directory of the repository to run the examples in the browser.

从存储库的主目录开启 http-server去在浏览器中运行该例子

Build构建

Builds are done using the .js exports compilation files from the src/ directory and using the build.js script from the main directory to create the build in the dist/ folder.

构建的完成需要先src/文件夹中使用.js输出编译文件,然后使用来自主目录的build.js脚本在dist/文件夹中创建构建

Version numbers for the builds are directly extracted from the versions installed in the local node_modules folder.

构建的版本数目直接从安装在本地的node_modules文件夹的版本中抽取出。

For creating new builds:为了创建新的构建

  1. Change package.json to require desired/up-to-date versions of the libraries 改变package.json去获取想要的/最新版本的库

package.json

{
  "private": true,
  "name": "browser-builds",
  "version": "0.0.0",
  "description": "Browser builds of ethereumjs libraries.",
  "scripts": {
    "build": "node build.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ethereumjs/browser-builds.git"
  },
  "keywords": [
    "ethereum",
    "browser"
  ],
  "author": "Alex Beregszaszi <[email protected]>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/ethereumjs/browser-builds/issues"
  },
  "homepage": "https://github.com/ethereumjs/browser-builds#readme",
  "dependencies": {//这里写了所有的库,你可以根据你自己的需求进行删减,并更改相应的版本
    "ethereumjs-abi": "^0.6.2",
    "ethereumjs-icap": "^0.3.1",
    "ethereumjs-tx": "^1.3.1",
    "ethereumjs-units": "^0.2.0",
    "ethereumjs-vm": "^2.3.0",
    "ethereumjs-wallet": "^0.6.0"
  },
  "devDependencies": {
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "babelify": "^7.3.0",
    "browserify": "^14.4.0",
    "uglifyify": "^4.0.4"
  }
}

  2.Reinstall/update local node_modules packages  重新安装/更新本地node_modules

运行npm install

  3.Run npm run build to generate new set of builds  运行npm run build命令去生成新构建集

返回:

userdeMBP:browser-builds-master user$ npm run build

> [email protected]0.0.0 build /Users/user/browser-builds-master
> node build.js

***ethereumjs-all***
Creating debug version package dist/ethereumjs-all/ethereumjs-all-2018-12-07.js
Creating minified package dist/ethereumjs-all/ethereumjs-all-2018-12-07.min.js

***ethereumjs-vm***
Creating debug version package dist/ethereumjs-vm/ethereumjs-vm-2.5.0.js
Creating minified package dist/ethereumjs-vm/ethereumjs-vm-2.5.0.min.js

***ethereumjs-tx***
Creating debug version package dist/ethereumjs-tx/ethereumjs-tx-1.3.7.js
Creating minified package dist/ethereumjs-tx/ethereumjs-tx-1.3.7.min.js

***ethereumjs-icap***
Omitting debug version package dist/ethereumjs-icap/ethereumjs-icap-0.3.1.js (file exists)
Omitting minified package dist/ethereumjs-icap/ethereumjs-icap-0.3.1.min.js (file exists)

***ethereumjs-wallet***
Creating debug version package dist/ethereumjs-wallet/ethereumjs-wallet-0.6.2.js
Creating minified package dist/ethereumjs-wallet/ethereumjs-wallet-0.6.2.min.js

***ethereumjs-wallet-hd***
Creating debug version package dist/ethereumjs-wallet-hd/ethereumjs-wallet-hd-0.6.2.js

***ethereumjs-abi***
Omitting debug version package dist/ethereumjs-abi/ethereumjs-abi-0.6.5.js (file exists)
Omitting minified package dist/ethereumjs-abi/ethereumjs-abi-0.6.5.min.js (file exists)
Creating minified package dist/ethereumjs-wallet-hd/ethereumjs-wallet-hd-0.6.2.min.js

***ethereumjs-wallet-thirdparty***
Creating debug version package dist/ethereumjs-wallet-thirdparty/ethereumjs-wallet-thirdparty-0.6.2.js
Creating minified package dist/ethereumjs-wallet-thirdparty/ethereumjs-wallet-thirdparty-0.6.2.min.js

然后你的dist文件夹下就会得到你想要的构建了,然后你就能够在页面端使用这些构建了,就像上面的例子一样

原文地址:https://www.cnblogs.com/wanghui-garcia/p/10084089.html

时间: 2024-11-11 08:39:59

ethereumjs/browser-builds的相关文章

How a webpage is loaded and displayed

References [1] https://varvy.com/pagespeed/display.html Steps of a webpage being displayed 1. Request: A request is made when a link is clicked 2. Response: The page and its resources (files) are downloaded 3. Build: Te web browser uses the page reso

Activating Browser Modes with Doctype

原文地址:https://hsivonen.fi/doctype/ In order to deal both with content written according to Web standards and with content written according to legacy practices that were prevalent in the late 1990s, today’s Web browsers implement various engine modes.

ethereumjs/ethereumjs-wallet

Utilities for handling Ethereum keys ethereumjs-wallet A lightweight wallet implementation. At the moment it supports key creation and conversion between various formats. 轻量级钱包实现.目前,它支持各种格式之间的key的创建和转换 It is complemented by the following packages: et

PHP Web Shell in browser

/************************************************************************************* * PHP Web Shell in browser * 说明: * 在浏览器中执行shell命令,可以省区telnet或者SSH. * * 2017-1-1 深圳 南山 平山村 曾剑锋 *********************************************************************

踩到Framework7 Photo Browser 的一个坑

最近在做的项目用了Framework7前端框架,功能确实比较强大!但这两天遇到一个坑,希望我的这点收获能给遇到这个问题的朋友一点帮助. 在使用Photo Browser 的时候,图片下方想放一个“点赞”的按钮,耐何就死活无法响应鼠标的点击事件(click tap都不行).怀疑被父级元素拦截了,反复各种折腾就是没效果! 最后都要放弃的时候,都准备移除“点赞”功能了,无意中发现.photo-browser-captions这个层有个样式是 pointer-events: none; 翻了一下CSS手

在MySQL query browser中要导出execl表单

导出:  在MySQL query browser中要导出execl表单,只需要点击file,选择export execl就可以了(要先进入表单哦!). 导入: 数据库的数据太多一下导入有点麻烦,如何将excel的数据直接导入数据库呢? 第一步 另存为txt文档,名字最好为数据库的table名.  在这我们要保存问文本文件用制表符分割的那个,这样我们的数据就不会乱. 第二步 打开txt文档,点击另存为,修改编码,解决中文utf8.  这个时候的文件名必须和你要导入的table名称一样,否则在lo

关闭 Visual Studio 2013 的 Browser Link 功能

转自:http://www.cnblogs.com/weisenz/p/3921342.html 最近公司弄新项目需要用 MVC,就把 IDE 升级到了 Visual Studio 2013,在开发的时候发现有好多请求一个本地49925的端口 . 很奇怪,一开始以为是 Visual Studio 2013 在创建项目的时候默认加进去的 JavaScript 文件或者是视图文件导致的,找了半天也没找到,经过在 FireBug 下查看代码发现,页面下面有如下的代码: <script id="_

BOM(Browser Object Model) 浏览器对象模型

JavaScript 实现是由 3 个部分组成:核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM) BOM(Browser Object Model) 浏览器对象模型BOM定义了JavaScript进行操作浏览器的各个功能部件的接口,提供访问文档各个功能部件(如窗口本身.屏幕功能部件.框架.浏览历史记录等)的途径以及操作方法.BOM是JavaScript应用中唯一没有相关标准的部分, ,每种浏览器都有其特有的BOM扩展实现. BOM对象 描述Window JavaSc

Browser environment

目录1.The global structur 2.Summary The browser provides us with a hierarchy of objects which we can use to control and access various information about time, screen, page, elements on a page etc. The global structure The browser provides access to a l