Solidity, the Smart Contract Programming Language
Go to file
Christian Parpart 7546100776 Dockerfile: improves docker image size and small others
This greatly improves size of the final docker image with the help of
multi-stage docker builds.

With that change, we can also make the build stage readable/maintainable
again by splitting up into multiple RUN statements as well as not
needing to clean-up temporary objects.

The dependencies have been put on top of the primary COPY statement
in order to not rebuild the dependencies each time one wants to rebuild
the docker image (for example due to code changes).

The solc compilation itself is now parallelized to the CPU core count
to speed up those builds that have more cores available on their docker
build system.

Future Notes:
-------------

We could further improve the Dockerfile by explicitely adding the
directories this docker build is interested in (such as solc source code
exclusively).

Or one may want to also use the build step for automated testing (CI)
by enforcing soltest and cmdlineTests.sh right before finalizing the image.
2018-06-26 12:12:35 +02:00
cmake Fix cmake when custom CMAKE_INSTALL_LIBDIR is given 2018-06-06 14:29:48 +08:00
docs Update documentation for strict address literals 2018-06-25 16:17:50 +02:00
libdevcore CMake: Update jsoncpp to v1.8.4 2018-04-23 11:10:39 +01:00
libevmasm Add TruthyAnd Peephole optimization 2018-06-15 11:27:39 -03:00
libjulia Merge pull request #4234 from elopio/patch-4 2018-06-06 10:01:18 +02:00
liblll Use EVM version in gas meter and optimizer. 2018-03-05 11:36:33 +01:00
libsolc Add new JSON API for better abstraction and for supporting strict JSON parsing 2018-02-20 21:58:26 +01:00
libsolidity Pull out createCBORMetadata helper 2018-06-25 22:17:33 +02:00
lllc Fix link error when using boost shared library 2018-05-11 11:20:19 +08:00
scripts Dockerfile: improves docker image size and small others 2018-06-26 12:12:35 +02:00
snap Add libz3-dev to the snap build-packages 2017-08-24 06:20:35 +00:00
solc Rename JULIA/IULIA to Yul in assembly interface 2018-06-14 09:31:28 +01:00
test Updates external contracts to new constructor syntax. 2018-06-26 00:00:32 +02:00
.editorconfig Add .editorconfig file 2017-05-19 16:05:07 -03:00
.gitattributes Create .gitattributes 2018-02-20 18:41:02 -05:00
.gitignore Add SolidityLexer.pyc to gitignore 2017-11-23 12:11:46 +00:00
.travis.yml Do not run emscripten tests on travis. 2018-04-20 00:03:01 +02:00
appveyor.yml release only on vs2017 2018-05-04 21:33:20 +02:00
Changelog.md Disallow the years unit denomination properly 2018-06-21 20:21:02 +02:00
circle.yml Merge pull request #4073 from alibabe/fix-jsoncpp-install 2018-05-28 22:06:14 +02:00
CMakeLists.txt Set version to 0.4.25 - tentatively. 2018-05-16 17:54:07 +02:00
CODING_STYLE.md Clarify namespaces in coding style. 2018-04-19 15:45:16 +01:00
CONTRIBUTING.md Link from CONTRIBUTING to the docs 2016-08-29 13:28:33 -04:00
LICENSE.txt Align license to those in file headers. 2016-06-08 22:57:30 +02:00
README.md Update README.md 2018-04-17 17:01:06 +05:30
ReleaseChecklist.md Update release checklist. 2018-04-17 12:06:21 +02:00

The Solidity Contract-Oriented Programming Language

Join the chat at https://gitter.im/ethereum/solidity Build Status

To get started you can find an introduction to the language in the Solidity documentation. In the documentation, you can find code examples as well as a reference of the syntax and details on how to write smart contracts.

You can start using Solidity in your browser with no need to download or compile anything.

The changelog for this project can be found here.

Solidity is still under development. So please do not hesitate and open an issue in GitHub if you encounter anything strange.

Building

See the Solidity documentation for build instructions.

How to Contribute

Please see our contribution guidelines in the Solidity documentation.

Any contributions are welcome!