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
|
# 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 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:
|
The Auditors' Handbook aims to be provide a comprehensive introduction to:
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Operators and bit manipulation
|
# 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
|
## Operators
|
||||||
|
|
||||||
A set of symbol and keywords can be used as infix operators
|
A set of symbol and keywords can be used as infix operators
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
# Pointer manipulation
|
# 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
|
https://github.com/status-im/nim-stew/blob/master/stew/ptrops.nim
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Closures and closures iterators
|
# 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
|
TODO
|
||||||
|
|
||||||
## At a low-level
|
## At a low-level
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nim Routines
|
# 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:
|
Nim offers several kinds of "routines" that:
|
||||||
- do computation
|
- do computation
|
||||||
- produce side-effect
|
- produce side-effect
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Casting and low-level memory representation
|
# 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
|
## Conversions
|
||||||
|
|
||||||
Casting to a signed integer will lead to a range check.
|
Casting to a signed integer will lead to a range check.
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nim memory management
|
# 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.
|
Nim memory management is on a per-type basis.
|
||||||
|
|
||||||
Plain objects and char and numerical types are allocated on the stack.
|
Plain objects and char and numerical types are allocated on the stack.
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Generics and Static types
|
# 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)
|
Nim types can be parametrized by types (generics) or compile-time values (static)
|
||||||
|
|
||||||
For example
|
For example
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Arrays, openarrays, varargs
|
# 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
|
## Arrays
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nim data types
|
# 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
|
## Builtin types
|
||||||
|
|
||||||
### Numerical types
|
### Numerical types
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Correctness, distinct, mutability, effects, exceptions
|
# 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
|
The Nim compiler provides several constraints that can be used to enforce
|
||||||
proper usage of variables, types and error handling at compile-time.
|
proper usage of variables, types and error handling at compile-time.
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Debugging Nim
|
# 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)
|
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
|
## GDB / LLDB
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Foreign language interop
|
# 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
|
## Wrapping C
|
||||||
|
|
||||||
### Using shared library
|
### Using shared library
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nim threat model
|
# 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.
|
Nim and its standard library are not the focus of the audits.
|
||||||
|
|
||||||
In particular the codebase intentionally limits reliance on the standard library
|
In particular the codebase intentionally limits reliance on the standard library
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# The Nim Programming Language
|
# 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 Nim programming language is a compiled language, with strong static typing.
|
||||||
|
|
||||||
The rest of the Handbook will assume that Nim-by-example was read.
|
The rest of the Handbook will assume that Nim-by-example was read.
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nimbus build system & dependencies
|
# 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
|
## Build system
|
||||||
|
|
||||||
### NBC repo
|
### NBC repo
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# NBC Threat model
|
# 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.
|
NBC primarily targets resource restricted devices like Raspberry Pi or smartphones to desktop computers.
|
||||||
|
|
||||||
We focus on:
|
We focus on:
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Nimbus Beacon Chain
|
# 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)
|
[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.
|
Nimbus Beacon Chain (NBC) is an implementation of an Ethereum 2 client.
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Summary
|
# 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)
|
- [Introduction](01_introduction.md)
|
||||||
- [The Nim Programming Language](02_the_Nim_programming_language.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)
|
- [Nim routines, procedures, functions, templates, macros](02.1_nim_routines_proc_func_templates_macros.md)
|
||||||
|
|
Loading…
Reference in New Issue