creating a README in accordance with Github and Gitea standards
This commit is contained in:
parent
9354c66e19
commit
5823526630
158
README.html
158
README.html
@ -1,158 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>README</title>
|
||||
<style>
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||||
div.column{flex: auto; overflow-x: auto;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
ul.task-list li input[type="checkbox"] {
|
||||
width: 0.8em;
|
||||
margin: 0 0.8em 0.2em -1.6em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
pre > code.sourceCode { white-space: pre-wrap; }
|
||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||
}
|
||||
pre.numberSource code
|
||||
{ counter-reset: source-line 0; }
|
||||
pre.numberSource code > span
|
||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||
pre.numberSource code > span > a:first-child::before
|
||||
{ content: counter(source-line);
|
||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||
border: none; display: inline-block;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||
code span.at { color: #7d9029; } /* Attribute */
|
||||
code span.bn { color: #40a070; } /* BaseN */
|
||||
code span.bu { color: #008000; } /* BuiltIn */
|
||||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||
code span.ch { color: #4070a0; } /* Char */
|
||||
code span.cn { color: #880000; } /* Constant */
|
||||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||
code span.dt { color: #902000; } /* DataType */
|
||||
code span.dv { color: #40a070; } /* DecVal */
|
||||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||
code span.ex { } /* Extension */
|
||||
code span.fl { color: #40a070; } /* Float */
|
||||
code span.fu { color: #06287e; } /* Function */
|
||||
code span.im { color: #008000; font-weight: bold; } /* Import */
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||
code span.op { color: #666666; } /* Operator */
|
||||
code span.ot { color: #007020; } /* Other */
|
||||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||
code span.ss { color: #bb6688; } /* SpecialString */
|
||||
code span.st { color: #4070a0; } /* String */
|
||||
code span.va { color: #19177c; } /* Variable */
|
||||
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
<link rel="stylesheet" href="docs/pandoc_templates/style.css" />
|
||||
<link rel="shortcut icon" href="docs/rho.ico">
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<div class="logo-header">
|
||||
<a href="docs/manifesto/motivation.html">
|
||||
<img src="docs/pandoc_templates/logo.svg" id="logo-graphic" alt="logo">
|
||||
<div style="height:18px;"></div>
|
||||
<div id="Rhocoin"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="button-bar">
|
||||
<a href="README.html">readme</a>
|
||||
<a href="LICENSE.html">license</a>
|
||||
<a href="NOTICE.html">notice</a>
|
||||
<a href="RELEASE_NOTES.html">release notes</a>
|
||||
</div>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">README</h1>
|
||||
<p><a href="docs/index.htm">pre alpha documentation (mostly a wish list)</a></p>
|
||||
<p><a href="./license.txt">copyright © and license</a></p>
|
||||
<p>pre-requisite, Pandoc to build the html documentation from the markdown files.</p>
|
||||
<p>Windows pre-requisites: Visual Studio and git-bash</p>
|
||||
<p>To obtain the source code from which the project can be built,
|
||||
including this README.html, from the bash command line (git-bash in windows).</p>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone <span class="at">--recurse-submodules</span> missing url</span></code></pre></div>
|
||||
<p>To build the docs, you need pandoc on the path.</p>
|
||||
<pre class="bash2"><code>cd wallet/docs
|
||||
./mkdocs.sh</code></pre>
|
||||
<p>To configure and build the required third party libraries in windows, then
|
||||
build the program and run unit test for the first time, you need to have
|
||||
Visual studio build tools at their default location)</p>
|
||||
<pre class="bash2"><code>cd wallet
|
||||
./winConfigure.bat</code></pre>
|
||||
<p>Or, if you are in the command shell or power shell,</p>
|
||||
<pre class="bat"><code>.\winConfigure.bat</code></pre>
|
||||
<p>After a pull from remote in which the submodules have changed, the pull
|
||||
fails to automatically update the submodules by default, and when you
|
||||
switch or checkout branches, the switch fails to automatically switch
|
||||
and checkout the brances.</p>
|
||||
<p>After a pull that gives you a status of modified submodules.</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> submodule update <span class="at">--init</span> <span class="at">--recursive</span> <span class="at">--remote</span></span></code></pre></div>
|
||||
<p>After a checkout or branch switch that gives you a status of modified submodules.</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> submodule update <span class="at">--recursive</span></span></code></pre></div>
|
||||
<p>The documentation is in pandoc flavored markdown, which is
|
||||
conveniently edited in vscode with the <code>markdown lint</code> and <code>Pandoc</code>
|
||||
extensions included and, if you have launched <code>code</code> in the docs directory,
|
||||
with <code>file/preferences/Extensions/Markdown/Styles</code> set to
|
||||
<code>pandoc_templates\\style.css</code>, that being the style used by the <code>mkdocs.sh</code> documentation build script.</p>
|
||||
<p>On Windows, if Git Bash and Pandoc has been installed, you should be
|
||||
able to run this shell file in bash by double clicking on it.</p>
|
||||
<p>if you add the recommended repository configuration defaults to your local repository configuration</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--local</span> include.path ../.gitconfig</span></code></pre></div>
|
||||
<p>this will substantially mitigate the problem of submodules failing to
|
||||
update in pushes, pulls, checkouts, and switches.</p>
|
||||
<p>It will, however, also implement signed commits, and insist you have set up a key pair as
|
||||
explained in the contributor code of conduct because <a href="./docs/setup/contributor_code_of_conduct.html#code-will-be-cryptographically-signed" target="_blank" title="Contributor Code of Conduct">cryptographic software is under attack</a> from NSA
|
||||
entryists and shills, who seek to introduce backdoors.</p>
|
||||
<p><code>.gitconfig</code> also adds several git aliases:</p>
|
||||
<ol type="1">
|
||||
<li><code>git lg</code> to display the git log with committer name from <code>.gitsigners</code> that corresponds to the public key</li>
|
||||
<li><code>git graph</code> to graph the commit tree with the committer name from <code>.gitsigners</code> that corresponds to the public key</li>
|
||||
<li><code>git alias</code> to display the git aliases.</li>
|
||||
<li><code>git utcmt</code> to make a commit without revealing your time zone.</li>
|
||||
</ol>
|
||||
<p><a href="./RELEASE_NOTES.html">Pre alpha release</a>, which means it does not yet work even well
|
||||
enough for it to be apparent what it would do if it did work.</p>
|
||||
<p style="background-color: #ccffcc; font-size: 80%;"><a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a> reaction.la gpg key 154588427F2709CD9D7146B01C99BB982002C39F<br />This work is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p>
|
||||
</body>
|
||||
</html>
|
@ -1,51 +1,77 @@
|
||||
---
|
||||
title: >-
|
||||
README
|
||||
---
|
||||
About
|
||||
-----
|
||||
|
||||
Wallet is open source software intended to become the manager of hierarchical
|
||||
deterministic keys for a social network that a superset of the Bitmessage social net,
|
||||
for securely pseudonymous uncensorable public communication,
|
||||
and securely private communication. (Telegraph looks like
|
||||
it will not be private for much longer).
|
||||
|
||||
You cannot have truly end to end encryption, except you control your own keys directly.
|
||||
|
||||
To make an actually useful social net requires a lot of engineers doing a lot of work, which requires funding, which requires a a profit model. The current business plan being to [eat SWIFT's lunch](./docs/manifesto/SWIFT.html), by creating an environment in which one can create and operate the necessary Daos.
|
||||
|
||||
The rest of the documentation is in Pandoc markdown, rather than Gitea or Github markdown, so you will have to build it before any of these links work.
|
||||
|
||||
[pre alpha documentation (mostly a wish list)](docs/index.htm)
|
||||
|
||||
[copyright © and license](./license.txt)
|
||||
|
||||
|
||||
Prerequisites
|
||||
---------
|
||||
|
||||
pre-requisite, Pandoc to build the html documentation from the markdown files.
|
||||
|
||||
Windows pre-requisites: Visual Studio and git-bash
|
||||
Windows pre-requisites: Visual Studio and git-bash. This software is supposed to be cross platform, and is unlikely to get traction with highly motivate early adopters unless it is cross platform, but currently only builds on Windows.
|
||||
|
||||
Download
|
||||
---------
|
||||
|
||||
To obtain the source code from which the project can be built,
|
||||
including this README.html, from the bash command line (git-bash in windows).
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules missing url
|
||||
# assuming Pandoc is installed, and git-bash if you are on
|
||||
# windows
|
||||
git clone --recurse-submodules https://gitea.rho.la/cheng/wallet.git
|
||||
wallet/docs/mkdocs.sh
|
||||
```
|
||||
|
||||
To build the docs, you need pandoc on the path.
|
||||
The above download relies on `https` for security, but `https` is vulnerable to enemy action by any adversary sufficiently powerful to have a certificate authority in his pocket, so our identity model relies on ssh keys, not domain names, so if you intend to make contributions, it would be preferable to create an account on `gitea.rho.la` with a fake email,
|
||||
upload your ssh public key to that account, and clone using `ssh` instead of `https`
|
||||
|
||||
```bash2
|
||||
cd wallet/docs
|
||||
./mkdocs.sh
|
||||
```bash
|
||||
git clone --recurse-submodules gitea@gitea.rho.la:cheng/wallet.git
|
||||
wallet/docs/mkdocs.sh
|
||||
```
|
||||
|
||||
To build the docs, including the license file, you need Pandoc on the path.
|
||||
|
||||
```bash
|
||||
cd wallet
|
||||
docs/mkdocs.sh
|
||||
```
|
||||
|
||||
Setup
|
||||
------
|
||||
|
||||
To configure and build the required third party libraries in windows, then
|
||||
build the program and run unit test for the first time, you need to have
|
||||
Visual studio build tools at their default location)
|
||||
|
||||
```bash2
|
||||
```bash
|
||||
cd wallet
|
||||
./winConfigure.bat
|
||||
msvc/winConfig.bat
|
||||
```
|
||||
|
||||
Or, if you are in the command shell or power shell,
|
||||
|
||||
```bat
|
||||
.\winConfigure.bat
|
||||
msvc\winConfigure.bat
|
||||
```
|
||||
|
||||
After a pull from remote in which the submodules have changed, the pull
|
||||
fails to automatically update the submodules by default, and when you
|
||||
switch or checkout branches, the switch fails to automatically switch
|
||||
and checkout the brances.
|
||||
|
||||
After a pull that gives you a status of modified submodules.
|
||||
After a pull that gives you a status of modified submodules, a to fix the submodules
|
||||
|
||||
```bash
|
||||
git submodule update --init --recursive --remote
|
@ -131,7 +131,7 @@ identified cryptographically, rather than through the domain name system.
|
||||
then at the root of your repository
|
||||
|
||||
```bash
|
||||
ssh-keygen -t ed25519 -f .git/gandalf #to create your key pair
|
||||
ssh-keygen -t ed25519 - C gandalf -f .git/gandalf #to create your key pair
|
||||
git config user.signingkey .git/gandalf.pub #tell git to use this key pair
|
||||
git config user.name gandalf #will be ignored
|
||||
git config user.email gandalf@ #fake email will be ignored
|
||||
@ -146,7 +146,7 @@ git config include.path ../.gitconfig #sets various defaults, ssh signing among
|
||||
displayed by the git aliases of `.gitconfig`
|
||||
|
||||
The nym in `.gitsigners` is the one that matters, though `user.email`
|
||||
and `user.name` should be the same or sufficiently similar to
|
||||
and `user.name` should be the same or sufficiently related to
|
||||
show you are not up to anything funny.
|
||||
|
||||
# No race, sex, religion, nationality, or sexual preference
|
||||
@ -242,47 +242,17 @@ attempts to develop software is going to survive. Linux is a dead man walking.
|
||||
|
||||
# Style
|
||||
|
||||
Contributions should be gpg signed.
|
||||
|
||||
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 an enemy. We don't want Gpg used to link different email
|
||||
addresses as owned by the same entity, and we don't want email
|
||||
addresses used to link people to the project, because those
|
||||
identities would then come under state and quasi state pressure.
|
||||
|
||||
if you add the recommended repository configuration defaults to your local repository configuration
|
||||
|
||||
```bash
|
||||
git config --local include.path ../.gitconfig
|
||||
```
|
||||
|
||||
This will implement signed commits and will insist that you have `gpg` on your path,
|
||||
and that you have configured a signing key in your local config.
|
||||
|
||||
This may be inconvenient if you do not have `gpg` installed and set up.
|
||||
|
||||
`.gitconfig` adds several git aliases:
|
||||
|
||||
1. `git utcmt` to do a commit without recording your timezone in the git history
|
||||
1. `git lg` to display the gpg trust information for the last few commits.
|
||||
For this to be useful you need to import the repository public key
|
||||
`public_key.gpg` into gpg, and `‑‑lsign` that key.
|
||||
1. `git lg` to display the .gitsigner trust information for the last few commits.
|
||||
1. `git graph` to graph the commit tree with signing status
|
||||
1. `git alias` to display the git aliases.
|
||||
|
||||
To only pull signed commits from people you have listed:
|
||||
|
||||
```bash
|
||||
git config merge.verifySignatures true
|
||||
gpg --import public_key.gpg
|
||||
gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C
|
||||
```
|
||||
|
||||
We ignore the Gpg Web of Trust model, and instead use the Zooko
|
||||
identity model.
|
||||
|
||||
We use Gpg signatures to verify that remote repository code
|
||||
We use ssh signatures to verify that remote repository code
|
||||
is coming from an unchanging entity, not for Gpg Web of Trust. Web
|
||||
of Trust is too complicated and too user hostile to be workable or safe.
|
||||
No one ever used it in the intended manner.
|
||||
|
Loading…
Reference in New Issue
Block a user