• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

richardschneider/net-ipfs-core: The core objects and interfaces of the interplan ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

richardschneider/net-ipfs-core

开源软件地址:

https://github.com/richardschneider/net-ipfs-core

开源编程语言:

C# 100.0%

开源软件介绍:

net-ipfs-core

build status travis build Codacy Badge Coverage Status Version docs

The core objects and interfaces of the IPFS (Inter Planetary File System) for .Net (C#, VB, F# etc.)

The interplanetary file system is the permanent web. It is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.

It supports the following runtimes

  • .NET Framework 4.5
  • .NET Standard 1.4
  • .NET Standard 2.0

More information is on the Documentation web site.

Getting started

Published releases of IPFS Core are available on NuGet. To install, run the following command in the Package Manager Console.

PM> Install-Package Ipfs.Core

Or using dotnet

> dotnet add package Ipfs.Core

For the latest build or older non-released builds see Continuous Integration.

Major objects

See the API Documentation for a list of all objects.

MultiHash

All hashes in IPFS are encoded with multihash, a self-describing hash format. The actual hash function used depends on security requirements. The cryptosystem of IPFS is upgradeable, meaning that as hash functions are broken, networks can shift to stronger hashes. There is no free lunch, as objects may need to be rehashed, or links duplicated. But ensuring that tools built do not assume a pre-defined length of hash digest means tools that work with today's hash functions will also work with tomorrows longer hash functions too.

MultiAddress

A standard way to represent a networks address that supports multiple network protocols. It is represented as a series of tuples, a protocol code and an optional value. For example, an IPFS file at a sepcific address over ipv4 and tcp is

/ip4/10.1.10.10/tcp/80/ipfs/QmVcSqVEsvm5RR9mBLjwpb2XjFVn5bPdPL69mL8PH45pPC

Merkle DAG

The DagNode is a directed acyclic graph whose edges are a DagLink. This means that links to objects can authenticate the objects themselves, and that every object contains a secure representation of its children.

Every Merkle is a directed acyclic graph (DAG) because each node is accessed via its name (the hash of DagNode). Each branch of Merkle is the hash of its local content (data and links); naming children by their hash instead of their full contents. So after creation there is no way to edit a DagNode. This prevents cycles (assuming there are no hash collisions) since one can not link the first created node to the last note to create the last reference.

Base58

Most binary data (objects) in IPFS is represented as a Base-58 string; the BitCoin alphabet is used.

Base58 is a group of binary-to-text encoding schemes used to represent large integers as alphanumeric text. It is similar to Base64 but has been modified to avoid both non-alphanumeric characters and letters which might look ambiguous when printed. It is therefore designed for human users who manually enter the data, copying from some visual source, but also allows easy copy and paste because a double-click will usually select the whole string.

Related Projects

  • IPFS DSL - A declarative embedded language for building compositional programs and protocols over the InterPlanetary File System.
  • IPFS HTTP Client - A .Net client library for the IPFS HTTP API.
  • IPFS HTTP Gateway - Serves IPFS files/directories via HTTP.
  • IPFS Engine - Implements the Core API.
  • Peer Talk - Peer to peer communication.

License

Copyright © 2015-2019 Richard Schneider ([email protected])

The IPFS Core library is licensed under the MIT license. Refer to the LICENSE file for more information.

Buy Me A Coffee




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap