Github 101 — Understanding Github and How Aelf Uses It

Mappo
aelf
Published in
6 min readMar 22, 2019

If you’re not a developer, then chances are you may never have heard of Github. However, it’s a vital technical tool in development, particularly so for blockchain projects. All the code that runs aelf and many other blockchain projects is stored on Github, and there are good reasons why it has become the project management tool of choice.

Version Control with Git

When a team of developers is working together on a project, they need a way of controlling which version of the software is the master copy. Whether there are two or twenty developers, version control is necessary to track all the changes that have been made to the underlying code.

The way this is managed in version control systems is through branching and merging. If a programmer wants to make changes to the master code, then they download a copy from the master code repository and make the changes on their version, without affecting the master code. They can then merge their changes with the master copy once they’re ready to go live.

Git is a system that manages version control. It was developed back in 2005 by Linus Torvalds, the software engineer who created the Linux operating system. Linux is open source, so any developer can propose changes to the underlying code. Therefore, Torvalds developed Git as a way of managing version control for the Linux code. Git takes a snapshot of the current version of the code each time there is a change. Changes are known as commits.

By itself, Git is an excellent tool for developers, and according to a Stack Overflow survey, it’s used by more than 87% of all developers. However, it isn’t very user-friendly for non-coders, which is where Github comes in.

Github

Github provides a web-based interface and a cloud-based hosting service for Git. It also offers some other features that make it far more powerful than the functionality of Git by itself. The most significant are pull requests, and the use of profiles to create a network.

Pull Request and Profiles

In Github, a developer creates their own branch, called a fork, by taking a copy of the source code. Once they make their changes to the code, they can submit a pull request. This tells the owner of the code that there’s a change to be reviewed.

When the change is accepted, it is incorporated into the project source code as a change, known as a commit. The number of commits on any given project is a reliable indicator of the activity levels and therefore, the health of a project.

For the last twelve months, aelf has ranked in the top ten blockchain/cryptocurrency projects in terms of Github commits, demonstrating the hard work and commitment of the aelf development team in the leadup to the main net launch.

Profiles make Github a very compelling tool for developers and project leaders alike. Each time a developer successfully logs a commit for any given project, it’s stored against their own personal profile on Github.

So, if a developer submits a pull request for the code of an open-source project that they haven’t worked on before, the project leader can review all of their previous commits before they approve the pull request. Therefore, the Github profile acts as a kind of resumé for programmers, with a log of prior coding work.

What the Aelf Community Gains from Github

Github is the ideal tool for sharing progress and information about project development. Any aelf community members can enjoy the various features of Github outlined below.

Transparent Metrics

Firstly, Github is user-friendly, and you don’t have to be a programmer or even have an account to browse projects and users. Under the “Insights” tab for any given project, there’s a set of useful metrics that anyone can view. These include a dashboard showing an overview of activity.

You can also view the number of commits to the project.

There are other features too, including the option to view the profiles of the developers who are working on the project.

At aelf, we firmly believe that our token holders’ interests are linked to the long-term future of the aelf platform. Therefore, Github provides an ideal place to share the progress of our project development with our token holders and other interested stakeholders.

Having the source code all in one place means that once the aelf main net is live, node holders have a central repository from which to access all the current files necessary for running a node.

Issue Log

Although we publish regular weekly development updates on our Medium channel, we use our Github issue log to track the status and resolution of issues. Any of our community members can check the status of these issues in real-time.

Wiki

Aelf user documentation is stored on the Github Wiki section of our project page. All revisions and previous versions are also available.

Real-time Updates

With a Github account, any user can “watch” for updates to aelf or any other project on the network. This means that Github will notify you each time there’s a new commit or other change. If you prefer to stay connected to a project but not receive notifications, then you can “star” a project which acts as a bookmark.

Signing up for Github is free, so it’s easy for anyone to watch or star any of their favourite projects.

Summary

There is other functionality available in Github, most of which is designed to help developers and other team members working on projects. However, this article covers the purpose and functionality of Github for general users.

For aelf, as with many other blockchain projects and teams, Github is the most powerful platform for storing and version-controlling our source code. At the same time, it allows our community to follow along with all developments as they’re happening.

· aelf Telegram community: English, Türkçe, Español, 한국, 日本語, 中文русский, العربية, Deutsch, Italiano, Français, हिन्दी, and Tiếng Việt,

· aelf Twitter

· aelf Facebook

· aelf YouTube

· aelf Instagram

· aelf Reddit

· aelf Medium (for the latest update and articles)

· aelf Github (complete aelf project codes)

For more information, visit aelf.io

--

--

Mappo
aelf
Writer for

Head of Content Creation & Community Engagement for aelf. Crypto investor, trader, maker and baker - all things crypto