Skip to content

newblue/x.node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

#x.Node

##什么是x.Node?

x.Node是一个p2p的信息分享服务。类似于新闻组,但是更加的分散,没有集中式的服务器角色,每个node(节点)在充当客户端的同时,可以选择性的充当服务器这个角色,类似与分布式的twitter,信息的分享方式类似f2f,信息从创建开始,必须通过不同的节点传播出去,每个节点会选择性的对信息进行转播。

每个参与者都需要创建属于自己的身份证明,身份证明主要是用于对信息进行签名和验证,确定信息的创建人,拥有身份证明的参与者可以在节点所有人的许可下使用该节点参与讨论,也可以自建节点参与。简单的说就是一个节点可以节点所有人的许可下创建无数个身份或者供其他参与者使用。

每个参与者可以从其他参与者那里获得信用,信用可用于对信息进行评分计算。

每个参与者都可以对其他人发布的信息进行评分,默认使用信用对信息进行评分,参与者也可以对其他人的信息进行评分,参与者的评分值权重比信用评分的权重更高一点,每个参与者都有一个私有的基于机器学习的个人评分系统,可以根据参与者的兴趣对信息进行过滤、排序、挖掘、评分,权重比信用评分高,但低于参与者的评分。

每个节点必须实现一个HTTP协议和一个NNTP协议的接口,其他协议可根据需要添加。

##实现的语言go

为什么会是go?

用C/C++虽然效率比go在某些地方会高很多,但是实现的效率就很成问题了,所以才会选择go这个语言,他有一些脚本语言的特性,但是又可以编译,没有的太多的语法,足够简单。

##关键词

###节点

每个节点都是独立的客户端,可以选择是否作为公共服务器供其他客户端作为联络点。

About

A p2p messages service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published