When referencing accuracy above, the intent is to be as true to the current state of the Bitcoin Cash protocol as possible, though this obviously has many possible interpretations.
One basic litmus test is whether a brand new implementation would need to have a certain change in order to operate without utilizing deprecated/fall-back functionality.
However, if a feature is implemented, and considered functionally complete, by the majority of active node implementations, that may also serve as a sufficient test of currency.
As such, this specification may reflect everything from the basic necessary elements of the Bitcoin Cash protocol to those that are in widespread, but not universal, use.
While it is difficult to make hard-and-fast rules regarding the organization of something as complex as the Bitcoin Cash protocol, please take the time to observe the current organization of files (including URL paths and linking) before adding or moving pages.
- If your content is documenting a new object but where similar object already exist (e.g. a new message type) follow the convention of how other objects of that type are already documented.
If they are all already on a single page, add it there.
If they all already have their own pages, create a new page alongside the existing ones.
- If your content is documenting a new object but no similar objects exist yet, start by making a new single page for this object in a new directory for the set of similar objects.
If you have several to add, create separate pages for each under the same new directory.
Merging many objects into a single page is a judgement call that can occur once the set is deemed to be complete and small enough for a single page.
- If you're still not sure, use your judgement or reach out to someone who may be able to provide guidance (e.g. a node developer).
For example, the page for the <code>version</code> message exists at [<code>/protocol/network/messages/version</code>](/protocol/network/messages/version).
1. Copying the content to the site (please observe content licenses for the source platforms) and linking it internally.
2. Paraphrasing all vital content locally and then linking externally.
3. Linking externally with sufficient context that if link breaks users have something to Google (e.g. if documenting a website itself, rather than content on it).