mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Solidity, the Smart Contract Programming Language
Using libraries leaves behind a library link reference in the binary which the linker must later resolve. These link references were still being generated by name and not by fully-qualified name. This would lead to a link-time collision between two libraries having the same name but in different source units. This change changes linker symbols over to fully-qualified names, which resolves that issue. This does potentially introduce a new problem, which is that linker symbols appear to be limited to 36 characters and are truncated. Storing paths extends the average symbol size, and it would be great if truncation was from the tail rather than the head. |
||
---|---|---|
cmake | ||
deps@b3db890589 | ||
docs | ||
libdevcore | ||
libevmasm | ||
liblll | ||
libsolidity | ||
lllc | ||
scripts | ||
solc | ||
std | ||
test | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor.yml | ||
Changelog.md | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
README.md |
The Solidity Contract-Oriented Programming Language
Useful links
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!