78 lines
4.3 KiB
Markdown
78 lines
4.3 KiB
Markdown
---
|
||
name: Summer of Bitcoin Project
|
||
about: Template to suggest a new https://www.summerofbitcoin.org/ project.
|
||
title: ''
|
||
labels: 'summer-of-bitcoin'
|
||
assignees: ''
|
||
|
||
---
|
||
|
||
<!--
|
||
## Overview
|
||
|
||
Project ideas are scoped for a university-level student with a basic background in CS and bitcoin
|
||
fundamentals - achievable over 12-weeks. Below are just a few types of ideas:
|
||
|
||
- Low-hanging fruit: Relatively short projects with clear goals; requires basic technical knowledge
|
||
and minimal familiarity with the codebase.
|
||
- Core development: These projects derive from the ongoing work from the core of your development
|
||
team. The list of features and bugs is never-ending, and help is always welcome.
|
||
- Risky/Exploratory: These projects push the scope boundaries of your development effort. They
|
||
might require expertise in an area not covered by your current development team. They might take
|
||
advantage of a new technology. There is a reasonable chance that the project might be less
|
||
successful, but the potential rewards make it worth the attempt.
|
||
- Infrastructure/Automation: These projects are the code that your organization uses to get its
|
||
development work done; for example, projects that improve the automation of releases, regression
|
||
tests and automated builds. This is a category where a Summer of Bitcoin student can be really
|
||
helpful, doing work that the development team has been putting off while they focus on core
|
||
development.
|
||
- Quality Assurance/Testing: Projects that work on and test your project's software development
|
||
process. Additionally, projects that involve a thorough test and review of individual PRs.
|
||
- Fun/Peripheral: These projects might not be related to the current core development focus, but
|
||
create new innovations and new perspectives for your project.
|
||
-->
|
||
|
||
**Description**
|
||
<!-- Description: 3-7 sentences describing the project background and tasks to be done. -->
|
||
|
||
**Expected Outcomes**
|
||
<!-- Short bullet list describing what is to be accomplished -->
|
||
|
||
**Resources**
|
||
<!-- 2-3 reading materials for candidate to learn about the repo, project, scope etc -->
|
||
<!-- Recommended reading such as a developer/contributor guide -->
|
||
<!-- [Another example a paper citation](https://arxiv.org/pdf/1802.08091.pdf) -->
|
||
<!-- [Another example an existing issue](https://github.com/opencv/opencv/issues/11013) -->
|
||
<!-- [An existing related module](https://github.com/opencv/opencv_contrib/tree/master/modules/optflow) -->
|
||
|
||
**Skills Required**
|
||
<!-- 3-4 technical skills that the candidate should know -->
|
||
<!-- hands on experience with git -->
|
||
<!-- mastery plus experience coding in C++ -->
|
||
<!-- basic knowledge in matrix and tensor computations, college course work in cryptography -->
|
||
<!-- strong mathematical background -->
|
||
<!-- Bonus - has experience with React Native. Best if you have also worked with OSSFuzz -->
|
||
|
||
**Mentor(s)**
|
||
<!-- names of mentor(s) for this project go here -->
|
||
|
||
**Difficulty**
|
||
<!-- Easy, Medium, Hard -->
|
||
|
||
**Competency Test (optional)**
|
||
<!-- 2-3 technical tasks related to the project idea or repository you’d like a candidate to
|
||
perform in order to demonstrate competency, good first bugs, warm-up exercises -->
|
||
<!-- ex. Read the instructions here to get Bitcoin core running on your machine -->
|
||
<!-- ex. pick an issue labeled as “newcomer” in the repository, and send a merge request to the
|
||
repository. You can also suggest some other improvement that we did not think of yet, or
|
||
something that you find interesting or useful -->
|
||
<!-- ex. fixes for coding style are usually easy to do, and are good issues for first time
|
||
contributions for those learning how to interact with the project. After you are done with the
|
||
coding style issue, try making a different contribution. -->
|
||
<!-- ex. setup a full Debian packaging development environment and learn the basics of Debian
|
||
packaging. Then identify and package the missing dependencies to package Specter Desktop -->
|
||
<!-- ex. write a pull parser for CSV files. You'll be judged by the decisions to store the parser
|
||
state and how flexible it is to wrap this parser in other scenarios. -->
|
||
<!-- ex. Stretch Goal: Implement some basic metaprogram/app to prove you're very familiar with BDK.
|
||
Be prepared to make adjustments as we judge your solution. -->
|