文件名称:js-versidag:基于Merkle-DAG的并发版本历史记录
文件大小:93KB
文件格式:ZIP
更新时间:2024-02-23 17:47:17
history p2p version concurrent merkle-dag
versidag 基于Merkle-DAG的并发版本历史记录。 版本+ dag = versidag 动机 在分布式系统中,副本的时钟不可靠,无法获得版本的总顺序。 在p2p网络中,这尤其如此,因为其中的时钟差异可能会加剧。 有一些方法可以通过保留因果关系来获得版本的部分顺序,例如使用, 和。 该模块利用保留因果关系(在发生之前),并利用平局决胜来确定并发版本的顺序。 DAG将在副本之间收敛,因为: Merkle-DAG上的节点根据其内容进行标记,这意味着只要发生合并,它们就会收敛到相同的标记(cid)。 决胜局在副本之间是确定性的,这意味着副本之间版本的总顺序将相同。 操作可确保删除非并行头。 安装 $ npm install versidag 用法 import createVersidag from 'versidag' ; const myVersidag = createVersidag ( { tieBreaker : ( node1 , node2 ) => /* */ , readNode : ( cid ) => /* */ ,
【文件预览】:
js-versidag-master
----.travis.yml(135B)
----.babelrc(155B)
----package.json(2KB)
----.eslintrc.json(213B)
----test()
--------config.spec.js(3KB)
--------resolve-heads.spec.js(6KB)
--------resolve-versions.spec.js(12KB)
--------public-api.spec.js(9KB)
--------helpers()
----LICENSE(1KB)
----package-lock.json(337KB)
----src()
--------resolve-heads.js(2KB)
--------config.js(3KB)
--------index.js(2KB)
--------traverse.js(853B)
--------resolve-versions.js(3KB)
----.gitignore(45B)
----CHANGELOG.md(1KB)
----README.md(9KB)
----.editorconfig(220B)