About Hacking Factom

The purpose of this guide is to help new core devs onboard easier and make the learning curve less steep. This guide is also intended to help non-core developers confidently navigate factomd’s core when trying to discover ways of adding new software to the Factom ecosystem. If as a reader new to core or non-core Factom development you find any part of this guide challenging or in need of clarification, please submit an issue on github so authors and editors can address it.

Hacking Factom was created by Thomas Meier with Layer Tech while joining as a core developer during the spring of 2019. We are seeking contributions of all kinds, so if you have interest please see the Contributing section below.

Contributing

Thanks for considering contributing to this project.

Ways to Contribute

Finding a typo or finding a major correction are both ways to contribute.

Reviewing

If you spot a typo or notice an entire paragraph that needs to be corrected, submit a github issue. If the correction is added by an author, you will be added as a “Reviewer” for that page.

Authoring

If you want to fix an issue, or want to take initiative to add a page, fork the repository and make your changes. When you are happy with those changes, submit a Pull Request. If you want to confirm that your contribution will be accepted, please open and use github issues for discussion.

When providing text, keep the editorial guidelines in mind.

Editor

An editor helps ensure that authorship guidelines are set, that github issues have assignees to avoid duplicate efforts, and offer feedback to authors to get new text within the editorial guidelines of this project. Reach out to Thomas Meier to discuss being an editor.

Editorial Guidelines

The purpose of this guide is to convey factual information, but more importantly to provide context to that factual information–and is target to developers new to Factom. This guide aims to be comprehensive and illustrate the interconnections between packages inside factomd. To accomplish this, some guidelines/questions should be considered when submitting new texts or issues:

  • There should be a statement that answers the “Why?” for the package you’re discussing
  • Does this text provide enough context for an uninitiated software engineer to understand? (Yes)
  • If you are using an ancronym or term specific to blockchain technology or Factom, is the term explained in the Glossary? (Yes)