Documentation
¶
Overview ¶
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 包iface定义ipfs核心api,这是一组用于 与IPFS节点交互。
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
Index ¶
- Variables
- type AddEvent
- type BadPinNode
- type BlockAPI
- type BlockStat
- type ChangeType
- type ConnectionInfo
- type CoreAPI
- type DagAPI
- type DagBatch
- type DagOps
- type DhtAPI
- type IpnsEntry
- type IpnsResult
- type Key
- type KeyAPI
- type NameAPI
- type ObjectAPI
- type ObjectChange
- type ObjectStat
- type Path
- type Pin
- type PinAPI
- type PinStatus
- type PubSubAPI
- type PubSubMessage
- type PubSubSubscription
- type ReadSeekCloser
- type Reader
- type ResolvedPath
- type SwarmAPI
- type UnixfsAPI
Constants ¶
This section is empty.
Variables ¶
var ( ErrIsDir = errors.New("this dag node is a directory") ErrNotFile = errors.New("this dag node is not a regular file") ErrOffline = errors.New("this action must be run in online mode, try running 'ipfs daemon' first") )
var ( ErrNotConnected = errors.New("not connected") ErrConnNotFound = errors.New("conn not found") )
var ErrResolveFailed = errors.New("could not resolve name")
Functions ¶
This section is empty.
Types ¶
type AddEvent ¶
type AddEvent struct { Name string Path ResolvedPath `json:",omitempty"` Bytes int64 `json:",omitempty"` Size string `json:",omitempty"` }
type BadPinNode ¶
type BadPinNode interface { //路径是节点的路径 Path() ResolvedPath //err是将节点标记为坏节点的原因 Err() error }
bad pin node是一个被pin标记为坏的节点。请验证
type BlockAPI ¶
type BlockAPI interface { //Put导入原始块数据,使用指定的设置对其进行哈希处理。 Put(context.Context, io.Reader, ...options.BlockPutOption) (BlockStat, error) //获取解析路径的尝试并返回块中数据的读卡器 Get(context.Context, Path) (io.Reader, error) //RM从本地BlockStore中删除由路径指定的块。 //默认情况下,如果在本地找不到块,将返回错误。 // //注意:如果固定了指定的块,它将不会被删除,也不会出错。 //将被退回 Rm(context.Context, Path, ...options.BlockRmOption) error //stat返回信息 Stat(context.Context, Path) (BlockStat, error) }
blockapi指定块层的接口
type BlockStat ¶
type BlockStat interface { //大小是块的大小 Size() int //path返回块的路径 Path() ResolvedPath }
blockstat包含有关块的信息
type ChangeType ¶
type ChangeType int
ChangeType表示ObjectChange中的更改类型
const ( //将链接添加到图表时设置diffAdd DiffAdd ChangeType = iota //从图表中删除链接时设置diffremove DiffRemove //在图表中更改链接时设置diffmod DiffMod )
type ConnectionInfo ¶
type ConnectionInfo interface { //id返回peerid ID() peer.ID //地址返回与对等机连接的多地址 Address() ma.Multiaddr //方向返回建立连接的方式 Direction() net.Direction //延迟向对等端返回上次已知的往返时间 Latency() (time.Duration, error) //流返回与对等方建立的流的列表 Streams() ([]protocol.ID, error) }
ConnectionInfo包含有关对等机的信息
type CoreAPI ¶
type CoreAPI interface { //unixfs返回unixfs API的实现 Unixfs() UnixfsAPI //block返回block api的实现 Block() BlockAPI //DAG返回DAG API的实现 Dag() DagAPI //name返回name api的实现 Name() NameAPI //key返回key api的实现 Key() KeyAPI //pin返回pin api的实现 Pin() PinAPI //object api返回对象api的实现 Object() ObjectAPI //DHT返回DHT API的实现 Dht() DhtAPI //Swarm返回Swarm API的实现 Swarm() SwarmAPI //pubsub返回pubsub API的实现 PubSub() PubSubAPI //resolvepath使用unixfs resolver解析路径 ResolvePath(context.Context, Path) (ResolvedPath, error) //resolvenode使用unixfs解析路径(如果尚未解析) //解析程序,获取并返回解析的节点 ResolveNode(context.Context, Path) (ipld.Node, error) //WITHOPTIONS基于此实例创建coreapi的新实例 //应用的一组选项 WithOptions(...options.ApiOption) (CoreAPI, error) }
coreapi为go程序定义到ipfs的统一接口
type DagAPI ¶
type DagAPI interface { DagOps //获取解析和获取由路径指定的节点的尝试 Get(ctx context.Context, path Path) (ipld.Node, error) //树返回由路径指定的节点内的路径列表。 Tree(ctx context.Context, path Path, opts ...options.DagTreeOption) ([]Path, error) //批量创建新的dagbatch Batch(ctx context.Context) DagBatch }
dagapi指定到ipld的接口
type DagOps ¶
type DagOps interface { //使用指定的格式和输入编码放置插入数据。 //除非与withcodec或withhash一起使用,否则默认值为“dag cbor”和 //使用“sha256”。 Put(ctx context.Context, src io.Reader, opts ...options.DagPutOption) (ResolvedPath, error) }
DAGOPS对可以一起批处理的操作进行分组
type DhtAPI ¶
type DhtAPI interface { //findpeer查询DHT中与 //对等体ID FindPeer(context.Context, peer.ID) (pstore.PeerInfo, error) //findproviders在DHT中查找能够提供特定值的对等方 //给出了一个键。 FindProviders(context.Context, Path, ...options.DhtFindProvidersOption) (<-chan pstore.PeerInfo, error) //向网络宣布您正在提供给定值 Provide(context.Context, Path, ...options.DhtProvideOption) error }
DHTAPI指定DHT的接口 注意:此API在不久的将来可能会被弃用,请参阅 https://github.com/ipfs/interface-ipfs-core/issues/249了解更多上下文。
type IpnsResult ¶
type KeyAPI ¶
type KeyAPI interface { //生成生成新密钥,并将其存储在指定的密钥库中 //名称并返回其公钥的base58编码多哈希 Generate(ctx context.Context, name string, opts ...options.KeyGenerateOption) (Key, error) //重命名将oldname键重命名为newname。返回键以及是否另一个键 //密钥被覆盖,或出现错误 Rename(ctx context.Context, oldName string, newName string, opts ...options.KeyRenameOption) (Key, bool, error) //列表列出存储在密钥库中的密钥 List(ctx context.Context) ([]Key, error) //self返回“main”节点键 Self(ctx context.Context) (Key, error) //移除从密钥库中移除密钥。返回已删除密钥的IPN路径 Remove(ctx context.Context, name string) (Key, error) }
keyapi指定到keystore的接口
type NameAPI ¶
type NameAPI interface { //发布宣布新的IPN名称 Publish(ctx context.Context, path Path, opts ...options.NamePublishOption) (IpnsEntry, error) //解析尝试解析指定名称的最新版本 Resolve(ctx context.Context, name string, opts ...options.NameResolveOption) (Path, error) //搜索是解析的一个版本,它在发现路径时输出路径, //缩短第一次进入的时间 // //注意:默认情况下,从通道读取的所有路径都被认为是不安全的, //除了最新的(通道读取缓冲区中的最后一个路径)。 Search(ctx context.Context, name string, opts ...options.NameResolveOption) (<-chan IpnsResult, error) }
nameapi指定IPN的接口。
IPN是一个pki命名空间,其中名称是公钥的散列值,并且 私钥允许发布新的(签名的)值。在发布和 解析,使用的默认名称是节点自己的peerID,它是 它的公钥。
可以使用.key API列出并生成更多名称及其各自的键。
type ObjectAPI ¶
type ObjectAPI interface { //新建创建新的空(默认情况下)DAG节点。 New(context.Context, ...options.ObjectNewOption) (ipld.Node, error) //将导入的数据放入Merkledag Put(context.Context, io.Reader, ...options.ObjectPutOption) (ResolvedPath, error) //get返回路径的节点 Get(context.Context, Path) (ipld.Node, error) //数据返回节点数据的读卡器 Data(context.Context, Path) (io.Reader, error) //链接返回lint或节点包含的链接 Links(context.Context, Path) ([]*ipld.Link, error) //stat返回有关节点的信息 Stat(context.Context, Path) (*ObjectStat, error) //addlink在指定路径下添加链接。子路径可以指向 //必须存在的专利中的子目录(可以重写 //使用WITHCREATE选项)。 AddLink(ctx context.Context, base Path, name string, child Path, opts ...options.ObjectAddLinkOption) (ResolvedPath, error) //rmlink从节点中删除链接 RmLink(ctx context.Context, base Path, link string) (ResolvedPath, error) //AppendData将数据追加到节点 AppendData(context.Context, Path, io.Reader) (ResolvedPath, error) //setdata设置节点中包含的数据 SetData(context.Context, Path, io.Reader) (ResolvedPath, error) //diff返回将第一个对象转换为 //第二。 Diff(context.Context, Path, Path) ([]ObjectChange, error) }
objectapi指定merkledag的接口并包含有用的实用程序 用于操作Merkledag数据结构。
type ObjectChange ¶
type ObjectChange struct { //更改类型,可以是: //*diffadd-添加了一个链接 //*diffremove-删除了一个链接 //*diffmod-修改了链接 Type ChangeType //更改链接的路径 Path string //在更改前保持链接路径。注意,当一个链接 //加上,这将是零。 Before ResolvedPath //更改后保持链接路径。注意,当一个链接 //删除后,将为零。 After ResolvedPath }
ObjectChange表示图形中的更改
type ObjectStat ¶
type ObjectStat struct { //cid是节点的cid Cid cid.Cid //numlinks是节点包含的链接数 NumLinks int //BlockSize是原始序列化节点的大小 BlockSize int //linksize是链接块节的大小 LinksSize int //data size是数据块节的大小 DataSize int //累积大小是树的大小(块大小+链接大小) CumulativeSize int }
ObjectStat提供有关DAG节点的信息
type Path ¶
type Path interface { //字符串以字符串形式返回路径。 String() string //命名空间返回路径的第一个组件。 // //例如,path“/ipfs/qmhash”,调用namespace()将返回“ipfs” Namespace() string //如果保证此路径指向的数据 //不要改变。 // //请注意,解析的可变路径可以是不可变的。 Mutable() bool }
路径是API中使用的路径的通用包装器。可以解析路径 使用API中的一个resolve函数传递给一个cid。
路径必须以有效前缀作为前缀:
*/ipfs-不可变的unixfs路径(文件) */ipld-不可变的ipld路径(数据) */ipns-可变名称。通常解析为不可变路径之一
type Pin ¶
type Pin interface { //固定对象的路径 Path() ResolvedPath //引脚类型 Type() string }
pin保存有关pinned资源的信息
type PinAPI ¶
type PinAPI interface { //添加创建新的pin,默认为递归-固定整个引用的pin //树 Add(context.Context, Path, ...options.PinAddOption) error //ls返回此节点上固定对象的列表 Ls(context.Context, ...options.PinLsOption) ([]Pin, error) //rm删除由路径指定的对象的pin Rm(context.Context, Path) error //更新将一个管脚更改为另一个管脚,跳过对中匹配路径的检查 //老树 Update(ctx context.Context, from Path, to Path, opts ...options.PinUpdateOption) error //验证验证固定对象的完整性 Verify(context.Context) (<-chan PinStatus, error) }
pinapi指定Pining的接口
type PinStatus ¶
type PinStatus interface { //OK指示是否已验证PIN正确。 Ok() bool //bad nodes从pin返回任何坏(通常丢失)节点 BadNodes() []BadPinNode }
pinstatus保存有关pin运行状况的信息
type PubSubAPI ¶
type PubSubAPI interface { //LS按名称列出订阅的主题 Ls(context.Context) ([]string, error) //对等方列出我们当前发布的对等方 Peers(context.Context, ...options.PubSubPeersOption) ([]peer.ID, error) //将消息发布到给定的pubsub主题 Publish(context.Context, string, []byte) error //订阅给定主题的消息 Subscribe(context.Context, string, ...options.PubSubSubscribeOption) (PubSubSubscription, error) }
pubsubapi指定到pubsub的接口
type PubSubMessage ¶
type PubSubMessage interface { //From返回消息到达的对等方的ID From() peer.ID //数据返回消息体 Data() []byte //seq返回消息标识符 Seq() []byte //主题返回此邮件设置为的主题列表 Topics() []string }
pubsub message是单个pubsub消息
type PubSubSubscription ¶
type PubSubSubscription interface { io.Closer //下一步返回下一条传入消息 Next(context.Context) (PubSubMessage, error) }
pubsubscription是一个活动的pubsubscription
type ReadSeekCloser ¶
readseekCloser实现读取、复制、查找和关闭的接口。
type ResolvedPath ¶
type ResolvedPath interface { //cid返回路径引用的节点的cid。剩余的 //路径保证在节点内。 // //实例: //如果有3个链接对象:qmroot->a->b: // //CIDB:=“foo”:“bar”:42 //CIDA:=“B”:“/”:CIDB //cidroot:=“a”:“/”:cida // //并解析路径: // //*“/ipfs/$cidroot” //*调用cid()将返回'cidroot' //*调用root()将返回'cidroot' //*调用remains()将返回“ // //*“/ipfs/$cidroot/a” //*调用cid()将返回“cida” //*调用root()将返回'cidroot' //*调用remains()将返回“ // //*“/ipfs/$cidroot/a/b/foo” //*调用cid()将返回'cidb' //*调用root()将返回'cidroot' //*调用remains()将返回'foo' // //*“/ipfs/$cidroot/a/b/foo/bar” //*调用cid()将返回'cidb' //*调用root()将返回'cidroot' //*调用remains()将返回'foo/bar' Cid() cid.Cid //根返回路径根对象的cid // //例子: //如果有3个链接对象:qmroot->a->b,并解析路径 //“/ipfs/qmroot/a/b”,根方法将返回对象qmroot的cid // //有关更多示例,请参见cid()方法的文档 Root() cid.Cid //余数返回路径的未解析部分 // //例子: //如果有两个链接对象:qmroot->a,其中a是cbor节点 //包含以下数据: // //“foo”:“bar”:42_ // //解析/ipld/qmroot/a/foo/bar时,余数返回“foo/bar” // //有关更多示例,请参见cid()方法的文档 Remainder() string Path }
resolved path是解析为最后一个可解析节点的路径
func NewResolvedPath ¶
func NewResolvedPath(ipath ipfspath.Path, c cid.Cid, root cid.Cid, remainder string) ResolvedPath
NewResolvedPath创建新的ResolvedPath。此函数不执行任何检查 并被解析器实现使用。输入错误可能 引起恐慌。小心轻放。
type SwarmAPI ¶
type SwarmAPI interface { // Connect(context.Context, pstore.PeerInfo) error //断开与给定地址的连接 Disconnect(context.Context, ma.Multiaddr) error //peers返回我们连接到的对等机列表 Peers(context.Context) ([]ConnectionInfo, error) //knownaddrs返回此节点知道的所有地址的列表 KnownAddrs(context.Context) (map[peer.ID][]ma.Multiaddr, error) //localaddrs返回已宣布的侦听地址列表 LocalAddrs(context.Context) ([]ma.Multiaddr, error) //listenaddrs返回所有侦听地址的列表 ListenAddrs(context.Context) ([]ma.Multiaddr, error) }
swarmapi指定libp2p swarm的接口
type UnixfsAPI ¶
type UnixfsAPI interface { //添加将读卡器中的数据导入到merkledag文件中 // //TODO:关于如何在许多不同的场景中使用它的一个长期有用的注释 Add(context.Context, files.Node, ...options.UnixfsAddOption) (ResolvedPath, error) //get返回路径引用的文件树的只读句柄 // //请注意,此API的某些实现可能应用指定的上下文 //到对返回文件执行的操作 Get(context.Context, Path) (files.Node, error) //ls返回目录中的链接列表 Ls(context.Context, Path) ([]*ipld.Link, error) }
unixfsapi是IPF中不可变文件的基本接口 注意:这个API是大量WIP,保证经常中断。
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 |
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
|
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 |