diff --git a/README.html b/README.html index 8f8076a..a8929ec 100644 --- a/README.html +++ b/README.html @@ -92,13 +92,12 @@

Windows pre-requisites: Visual Studio and git-bash

To obtain the source code from which the project can be built, including this README, from the bash command line (git-bash in windows).

-
git clone missing url
-cd wallet
-./winConfigure.sh
+
git clone --recurse-submodules missing url

To configure and build the required third party libraries in windows, then build the program and run unit test for the first time, launch the Visual Studio X64 native tools command prompt in the cloned directory, then:

winConfigure.bat
+

Should the libraries change in a subsequent pull --recurse-submodules you will need to run winConfigure.bat again.

winConfigure.bat also configures the repository you just created to use .gitconfig in the repository, causing git to to implement GPG signed commits – because cryptographic software is under attack from NSA @@ -127,7 +126,7 @@ For this to be useful you need to import the repository public key # public gpg key repository. It should not be there. # Never use any email address on a gpg key related to this project # unless it is only used for project purposes, or a fake email, -# or the email of someone whom you do not like. +# or the email of an enemy.

To build the documentation in its intended html form from the markdown files, execute the bash script file docs/mkdocs.sh, in an environment where pandoc is available. On Windows, if Git Bash and Pandoc has been diff --git a/README.md b/README.md index 1a28457..66fcbb9 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,7 @@ To obtain the source code from which the project can be built, including this README, from the bash command line (git-bash in windows). ```bash2 -git clone missing url -cd wallet -./winConfigure.sh +git clone --recurse-submodules missing url ``` To configure and build the required third party libraries in windows, then @@ -27,6 +25,8 @@ Studio X64 native tools command prompt in the cloned directory, then: winConfigure.bat ``` +Should the libraries change in a subsequent `pull --recurse-submodules ` you will need to run `winConfigure.bat` again. + [cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed "Contributor Code of Conduct" {target="_blank"} @@ -62,7 +62,7 @@ gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C # public gpg key repository. It should not be there. # Never use any email address on a gpg key related to this project # unless it is only used for project purposes, or a fake email, -# or the email of someone whom you do not like. +# or the email of an enemy. ``` To build the documentation in its intended html form from the markdown diff --git a/docs/blockchain_structure_on_disk.md b/docs/blockchain_structure_on_disk.md index 86d77f9..e231acf 100644 --- a/docs/blockchain_structure_on_disk.md +++ b/docs/blockchain_structure_on_disk.md @@ -4,8 +4,11 @@ title: Block chain structure on disk. The question is: One enormous SQLite file, or actually store the chain as a collection of files? -In the minimum viable product, the blockchain will be quite small, and it will be workable to put it one big SQLite file. -The trouble with one enormous SQLite file is that when it gets big enough, we face a high and steadily increasing risk of one sector on the enormous disk going bad, corrupting the entire database. SQLite does not handle the loss of a single sector gracefully. +In the minimum viable product, the blockchain will be quite small, and it +will be workable to put it one big SQLite file. The trouble with one enormous +SQLite file is that when it gets big enough, we face a high and steadily +increasing risk of one sector on the enormous disk going bad, corrupting the +entire database. SQLite does not handle the loss of a single sector gracefully. We will eventually need our own database structure designed around Merkle-patricia trees, append only data structures, and accommodating a near diff --git a/docs/set_up_build_environments.md b/docs/set_up_build_environments.md index ce3914d..373a901 100644 --- a/docs/set_up_build_environments.md +++ b/docs/set_up_build_environments.md @@ -49,8 +49,9 @@ To install guest additions on Debian: ```bash su -l root -apt-get -qy update && apt-get -qy install build-essential module-assistant git dialog rsync && m-a -qi prepare +apt-get -qy update && apt-get -qy install build-essential module-assistant git dialog rsync apt-get -qy upgrade +m-a -qi prepare mount -t iso9660 /dev/sr0 /media/cdrom cd /media/cdrom0 && sh ./VBoxLinuxAdditions.run usermod -a -G vboxsf cherry diff --git a/introspection_of_standard_C_types.h b/introspection_of_standard_C_types.h index f00822d..f8620c1 100644 --- a/introspection_of_standard_C_types.h +++ b/introspection_of_standard_C_types.h @@ -107,14 +107,14 @@ namespace ro { } - - /*spaceship operator for any pair of types that * do not already have a spaceship operator * can be arguments for std::span * and whose members have the spaceship operator - * noexistent values of the shorter array are considered zero if of - * arithmetic type, otherwise, considered greater than zero */ + * nonexistent arithemetic values of the shorter array + * are considered zero + * Existent non arithmetic values are considered greater than + * nonexistent non arithemetic values */ template std::enable_if_t, decltype(std::span(declval())[0] <=> std::span(declval())[0]) >operator <=>( const T& lh, const U& rh diff --git a/winConfigure.sh b/winConfigure.sh index e4e84f2..6739878 100644 --- a/winConfigure.sh +++ b/winConfigure.sh @@ -1,10 +1,9 @@ #!/bin/bash set -e set -x -git config --local include.path ../.gitconfig -git submodule update --init --recursive git submodule foreach --recursive 'git reset --hard' git submodule foreach --recursive 'git clean -xdf' +git config --local include.path ../.gitconfig set +e set +x rm -r x64