|
Solang is a Solidity compiler that targets several blockchains, including Solana, Substrate and ewasm. The mentorship project consists of three goals that can provide mentees with a broad knowledge of a compiler's inner-workings. The three tasks are in different stages of the compiler.
Solang github repository: https://github.com/hyperledger-labs/solang
Solang documentation: https://solang.readthedocs.io/en/latest/
Link to Lalrpop documentation: http://lalrpop.github.io/lalrpop/index.html
The mentorship was designed to provide mentees with a broad view of compilers, so we expect them to learn parsing and optimizations techniques, as well as low level code generation. This provides the basis for new entrants to engage in open source compilers. In addition to the technical skills, the mentee will be introduced to the open source community and collaboration tools. As the Solang ecosystem is growing, the mentee will have many networking opportunities and the ability to ask for career guidance.
We hope that the mentee will be able to produce at least three pull requests to Solang’s Github repository. These PRs should contain the code, tests and documentation of the chosen implementation.
The main deliverables would be:
Solang is part of the Hyperledger Labs.
There is no minimum requirement for education. We expect, though, the mentee to have basic knowledge of compilers, algorithms and data structures.
Basic knowledge of compilers is necessary to easily understand how Solang works and what the project involves doing. Algorithms and data structures is a nice-to-have knowledge. Exposure to the rust language is desirable.
We hope graduating mentees will engage in the open-source community, not only continuing developing features for Solang and fixing bugs but also acquire more self-confidence to get involved in other projects the mentees are interested in.
We accept applications for both full-time and part-time mentees.
Sean Young sean@mess.org
Lucas Steuernagel lucas.tnagel@gmail.com
You can reach us at the Discord server (Solang channel under Labs): https://discord.gg/hyperledger