solidity 静态二进制文件

2022-05-10 17:07 更新

我们在solc-bin维护一个存储库,其中包含所有受支持平台的过去和当前编译器版本的静态构建。这也是您可以找到每日开发构建的位置。

该存储库不仅是最终用户获取开箱即用的二进制文件的一种快速简便的方法,而且它对第三方工具也很友好:

  • 内容镜像到https://binaries.soliditylang.org,可以通过 HTTPS 轻松下载,无需任何身份验证、速率限制或使用 git。
  • 内容使用正确的 Content-Type标头和宽松的 CORS 配置提供,以便可以由浏览器中运行的工具直接加载。
  • 二进制文件不需要安装或解包(与必要的 DLL 捆绑在一起的旧 Windows 版本除外)。
  • 我们力求实现高水平的向后兼容性。文件一旦添加,如果不在旧位置提供符号链接/重定向,就不会被删除或移动。它们也永远不会被修改,并且应该始终与原始校验和匹配。唯一的例外是损坏或无法使用的文件,如果保持原样,可能弊大于利。
  • 文件通过 HTTP 和 HTTPS 提供。只要您以安全的方式(通过 git、HTTPS、IPFS 或仅将其缓存在本地)获取文件列表并在下载二进制文件后验证它们的哈希值,您就不必对二进制文件本身使用 HTTPS。

在大多数情况下,Github 上的 Solidity 发布页面上提供了相同的二进制文件。不同的是,我们一般不会在 Github 发布页面上更新旧版本。这意味着如果命名约定发生更改,我们不会重命名它们,并且我们不会为发布时不支持的平台添加构建。这只发生在solc-bin.

存储库solc-bin包含几个顶级目录,每个目录代表一个平台。每个都包含一个list.json列出可用二进制文件的文件。例如, emscripten-wasm32/list.json您将在 0.7.4 版中找到以下信息:

{
  "path": "solc-emscripten-wasm32-v0.7.4+commit.3f05b770.js",
  "version": "0.7.4",
  "build": "commit.3f05b770",
  "longVersion": "0.7.4+commit.3f05b770",
  "keccak256": "0x300330ecd127756b824aa13e843cb1f43c473cb22eaf3750d5fb9c99279af8c3",
  "sha256": "0x2b55ed5fec4d9625b6c7b3ab1abd2b7fb7dd2a9c68543bf0323db2c7e2d55af2",
  "urls": [
    "bzzr://16c5f09109c793db99fe35f037c6092b061bd39260ee7a677c8a97f18c955ab1",
    "dweb:/ipfs/QmTLs5MuLEWXQkths41HiACoXDiH8zxyqBHGFDRSzVE5CS"
  ]
}

这意味着:

警告
由于强大的向后兼容性要求,存储库包含一些遗留元素,但在编写新工具时应避免使用它们:
  • 如果您想要获得最佳性能,请使用emscripten-wasm32/(回退到emscripten-asmjs/)而不是。bin/在 0.6.1 版本之前,我们只提供 asm.js 二进制文件。从 0.6.2 开始,我们切换到性能更好的WebAssembly 构建。我们已经为 wasm 重建了旧版本,但原始 asm.js 文件仍保留在bin/. 新的必须放在单独的目录中以避免名称冲突。
  • 如果您想确定下载的是 wasm 还是 asm.js 二进制文件,请使用emscripten-asmjs/andemscripten-wasm32/而不是bin/and目录。wasm/
  • 使用和list.json代替。JSON 列表格式包含旧版本的所有信息以及更多信息。list.jslist.txt
警告
二进制文件也可在https://ethereum.github.io/solc-bin/获得,但此页面在 0.7.2 版发布后停止更新,不会收到任何平台的任何新版本或每日构建,并且确实不提供新的目录结构,包括非 emscripten 构建。
如果您正在使用它,请切换到https://binaries.soliditylang.org,这是一个直接替换。这使我们能够以透明的方式对底层托管进行更改并最大限度地减少中断。与ethereum.github.io我们无法控制的域不同,它binaries.soliditylang.org保证可以长期工作并保持相同的 URL 结构。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号