Solidity, the Smart Contract Programming Language
Go to file
Bob Summerwill 4ee2114127 Make the Solidity repository standalone.
This commit is the culmination of several months of work to decouple Solidity from the webthree-umbrella so that it can be developed in parallel with cpp-ethereum (the Ethereum C++ runtime) and so that even for the Solidity unit-tests there is no hard-dependency onto the C++ runtime.

The Tests-over-IPC refactoring was a major step in the same process which was already committed.

This commit contains the following changes:

- A subset of the CMake functionality in webthree-helpers was extracted and tailored for Solidity into ./cmake.   Further cleanup is certainly possible.
- A subset of the libdevcore functionality in libweb3core was extracted and tailored for Solidity into ./libdevcore.   Further cleanup is certainly possible
- The gas price constants in EVMSchedule were orphaned into libevmasm.
- Some other refactorings and cleanups were made to sever unnecessary EVM dependencies in the Solidity unit-tests.
- TravisCI and Appveyor support was added, covering builds and running of the unit-tests (Linux and macOS only for now)
- A bug-fix was made to get the Tests-over-IPC running on macOS.
- There are still reliability issues in the unit-tests, which need immediate attention.    The Travis build has been flipped to run the unit-tests 5 times, to try to flush these out.
- The Emscripten automation which was previously in webthree-umbrella was merged into the TravisCI automation here.
- The development ZIP deployment step has been commented out, but we will want to read that ONLY for release branch.

Further iteration on these changes will definitely be needed, but I feel these have got to sufficient maturity than holding them back further isn't winning us anything.    It is go time :-)
2016-08-01 01:45:11 -07:00
cmake Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
deps@f2ede70f33 Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
docs Mix is discontinued 2016-07-27 17:42:21 +02:00
libdevcore Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
libevmasm Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
liblll Suppress a warning in LLL parser on MSVC 2015 2016-05-13 15:38:23 +02:00
libsolidity Bugfix: Allocate empty array. 2016-07-28 17:24:18 +02:00
lllc wrap lllc add_executable 2016-05-01 00:43:03 +01:00
scripts Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
solc Source location as part of AST. 2016-07-20 19:45:43 +02:00
test Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
.gitignore Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
.gitmodules Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
.travis.yml Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
appveyor.yml Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
CMakeLists.txt Make the Solidity repository standalone. 2016-08-01 01:45:11 -07:00
LICENSE.txt Align license to those in file headers. 2016-06-08 22:57:30 +02:00
README.md Cleanup readme 2016-06-09 13:38:34 +02:00

The Solidity Contract-Oriented Programming Language

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

To get started you can find a basic introduction to the language in the Solidity Documentation.

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

Changelog

The Solidity Features page contains a list of already completed Solidity feature stories with explanations and demonstrations, it is being updated continuously. More technical information you can find in the Pivotal Tracker.

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

Building

See the Wiki for build instructions, compatibility information and build tips.

How to Contribute

This repository uses the same coding style as all of the cpp-ethereum projects. Please try to align with us in the gitter channel before making larger changes. Any contributions are welcome!