freeze and mark obsolete auditors guide and link to other resources (#5823)
This commit is contained in:
parent
7c731a2bfb
commit
228c79007a
|
@ -1,5 +1,8 @@
|
|||
# Introduction
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
The Nimbus Nim-Beacon-Chain (NBC) project is an implementation of the [Ethereum 2 Beacon Chain specification](https://github.com/ethereum/consensus-specs) in the [Nim programming language](https://nim-lang.org/).
|
||||
|
||||
The Auditors' Handbook aims to be provide a comprehensive introduction to:
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Operators and bit manipulation
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Operators
|
||||
|
||||
A set of symbol and keywords can be used as infix operators
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
# Pointer manipulation
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
https://github.com/status-im/nim-stew/blob/master/stew/ptrops.nim
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Closures and closures iterators
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
TODO
|
||||
|
||||
## At a low-level
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nim Routines
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
Nim offers several kinds of "routines" that:
|
||||
- do computation
|
||||
- produce side-effect
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Casting and low-level memory representation
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Conversions
|
||||
|
||||
Casting to a signed integer will lead to a range check.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nim memory management
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
Nim memory management is on a per-type basis.
|
||||
|
||||
Plain objects and char and numerical types are allocated on the stack.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Generics and Static types
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
Nim types can be parametrized by types (generics) or compile-time values (static)
|
||||
|
||||
For example
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Arrays, openarrays, varargs
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Arrays
|
||||
|
||||
TODO
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nim data types
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Builtin types
|
||||
|
||||
### Numerical types
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Correctness, distinct, mutability, effects, exceptions
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
The Nim compiler provides several constraints that can be used to enforce
|
||||
proper usage of variables, types and error handling at compile-time.
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Debugging Nim
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
Reference article: [https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html](https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html)
|
||||
|
||||
## GDB / LLDB
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Foreign language interop
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Wrapping C
|
||||
|
||||
### Using shared library
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nim threat model
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
Nim and its standard library are not the focus of the audits.
|
||||
|
||||
In particular the codebase intentionally limits reliance on the standard library
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# The Nim Programming Language
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
The Nim programming language is a compiled language, with strong static typing.
|
||||
|
||||
The rest of the Handbook will assume that Nim-by-example was read.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nimbus build system & dependencies
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
## Build system
|
||||
|
||||
### NBC repo
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# NBC Threat model
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
NBC primarily targets resource restricted devices like Raspberry Pi or smartphones to desktop computers.
|
||||
|
||||
We focus on:
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Nimbus Beacon Chain
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
[https://github.com/status-im/nimbus-eth2](https://github.com/status-im/nimbus-eth2)
|
||||
|
||||
Nimbus Beacon Chain (NBC) is an implementation of an Ethereum 2 client.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Summary
|
||||
|
||||
!!! warning
|
||||
This auditors' handbook is frozen and obsolete; the [Nim language manual](https://nim-lang.org/docs/manual.html) alongside [other Nim documentation](https://nim-lang.org/documentation.html), [Status Nim style guide](https://status-im.github.io/nim-style-guide/), [Chronos guides](https://github.com/status-im/nim-chronos/blob/master/docs/src/SUMMARY.md), and [Nim by Example](https://nim-by-example.github.io/getting_started/) supercede it.
|
||||
|
||||
- [Introduction](01_introduction.md)
|
||||
- [The Nim Programming Language](02_the_Nim_programming_language.md)
|
||||
- [Nim routines, procedures, functions, templates, macros](02.1_nim_routines_proc_func_templates_macros.md)
|
||||
|
|
Loading…
Reference in New Issue