argotorg / argotorg/solidity

Add pre-release/nightly builds inside the list of static binaries

Open
#13,015 4 comments 0 reactions 0 assignees View on GitHub
must have eventually solcbin
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

## Abstract

Add pre-release/nightly builds inside the list of solidity static binaries.

## Motivation

Following the official documentation (https://docs.soliditylang.org/en/latest/installing-solidity.html#static-binaries), suggested static binaries can be listed from https://binaries.soliditylang.org/emscripten-wasm32/list.json, with https://binaries.soliditylang.org/emscripten-asmjs/list.json as a fallback.

Those lists don't include nightly builds, as the old and deprecated URLs do (i.e., https://ethereum.github.io/solc-bin/bin/list.json)

External tools require listing nightly and release builds (i.e., Truffle: https://github.com/trufflesuite/truffle/pull/5008), so currently, the only way to do it is to link old and deprecated URLs.

We want to have pre-release/nightly builds inside the list of solidity static binaries.

## Specification

Following a discussion with @cameel (https://github.com/trufflesuite/truffle/pull/5008), we can keep the current folder and list.json, and we can create a subfolder with all builds (release and nightly) and another list.json listing all versions.

The final result would be something like this:

- https://binaries.soliditylang.org/emscripten-wasm32/list.json
- https://binaries.soliditylang.org/emscripten-wasm32/full-list/list.json
- https://binaries.soliditylang.org/emscripten-asmjs/list.json (fallback)
- https://binaries.soliditylang.org/emscripten-asmjs/full-list/list.json (fallback)

## Backwards Compatibility

Because we are adding a new subfolder, no one will be affected by this update. Developers can update their tools progressively to point to the new subfolder/list at their own pace and needs.

Contributor guide

Open the contributing guide

Research direction

Start with the existing emscripten-wasm32/list.json and emscripten-asmjs/list.json endpoints, then compare them with the deprecated ethereum.github.io/solc-bin/bin/list.json. Done means adding full-list/list.json under both current binary paths with release and nightly builds while preserving the existing lists and fallback URLs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, wasm
Domain
release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.