mirror of https://github.com/voidlizard/hbs2
updated readme
This commit is contained in:
parent
109c2d000d
commit
e41dc67a66
46
README.md
46
README.md
|
@ -13,6 +13,7 @@
|
||||||
distributed](#why-dvcs-are-not-actually-distributed)
|
distributed](#why-dvcs-are-not-actually-distributed)
|
||||||
- [Okay, if centralized services are bad, why are you
|
- [Okay, if centralized services are bad, why are you
|
||||||
here?](#okay-if-centralized-services-are-bad-why-are-you-here)
|
here?](#okay-if-centralized-services-are-bad-why-are-you-here)
|
||||||
|
- [What is a \"reflog\"](#what-is-a-reflog)
|
||||||
- [What is the fixme?](#what-is-the-fixme)
|
- [What is the fixme?](#what-is-the-fixme)
|
||||||
|
|
||||||
# ABOUT
|
# ABOUT
|
||||||
|
@ -171,6 +172,10 @@ bootstrap-dns "bootstrap.hbs2.net"
|
||||||
; poll certain reference
|
; poll certain reference
|
||||||
poll reflog 1 "2YNGdnDBnciF1Kgmx1EZTjKUp1h5pvYAjrHoApbArpeX"
|
poll reflog 1 "2YNGdnDBnciF1Kgmx1EZTjKUp1h5pvYAjrHoApbArpeX"
|
||||||
|
|
||||||
|
; means poll reflog "2YNGdnDBnciF1Kgmx1EZTjKUp1h5pvYAjrHoApbArpeX"
|
||||||
|
; once per minute
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -460,6 +465,47 @@ hbs2://2YNGdnDBnciF1Kgmx1EZTjKUp1h5pvYAjrHoApbArpeX
|
||||||
|
|
||||||
as the main project repository.
|
as the main project repository.
|
||||||
|
|
||||||
|
## What is a "reflog"
|
||||||
|
|
||||||
|
Reflog is an implementation of a permanent mutable
|
||||||
|
reference. It has a permanent ID that corresponds to a
|
||||||
|
public signing cryptographic key, and the value, that
|
||||||
|
is calculated from the "state", where the state is
|
||||||
|
a set of all "reference update" transactions.
|
||||||
|
|
||||||
|
Each transaction is cryptographically signed by the sender,
|
||||||
|
for current reflog implementation sender must be an owner of
|
||||||
|
the private key of the public key.
|
||||||
|
|
||||||
|
For this type of references, only transactions that are
|
||||||
|
properly signed by the mentioned private key are accepted at
|
||||||
|
the moment.
|
||||||
|
|
||||||
|
Therefore, reflog is a log of signed transactions. Content
|
||||||
|
of thouse transaction is up to an application.
|
||||||
|
|
||||||
|
For the hbs2-git it is an reference to a merkle tree, that
|
||||||
|
contains the state of repository ( branches + all objects
|
||||||
|
accessible from thouse branches ).
|
||||||
|
|
||||||
|
So, reflog is a sort of reference which state is defined by
|
||||||
|
the set of signed binary transactions. The payload of the
|
||||||
|
transactions mauy be arbitrary and application-dependent,
|
||||||
|
but they must be properly signed by the owner of the private
|
||||||
|
key.
|
||||||
|
|
||||||
|
As there is only one valid writer for this type of
|
||||||
|
reference, all transactions are assigned a Sequential Number
|
||||||
|
that establishes their order. Applications may use this
|
||||||
|
order to determine the sequence of transactions.
|
||||||
|
|
||||||
|
Should be all reflogs on all hosts have the same value?
|
||||||
|
|
||||||
|
Well. It would be nice, but not nesessary. But eventually
|
||||||
|
yes, they will. If there is really only one writer and it is
|
||||||
|
not writing all the time.
|
||||||
|
|
||||||
|
|
||||||
## What is the fixme?
|
## What is the fixme?
|
||||||
|
|
||||||
[fixme](https://github.com/voidlizard/fixme)
|
[fixme](https://github.com/voidlizard/fixme)
|
||||||
|
|
Loading…
Reference in New Issue