外部存储的比特币区块链上的名称注册

blockstack的Python项目详细描述


#块堆栈核心

[![pypi](https://img.shields.io/pypi/v/blockstack.svg)(https://pypi.python.org/pypi/blockstack/)
[![松弛](https://img.shields.io/badge/join-slack-e32072.svg?style=flat)(http://slack.blockstack.org/)

首先是[blockstack browser](https://github.com/blockstack/blockstack-browser)。

\](什么是块堆栈)
-[什么是块堆栈核心?](什么是块堆栈核心)
-[安装块堆栈核心](安装块堆栈核心)
-[运行块堆栈核心节点](运行-a-blockstack-core-node)
-[使用块堆栈核心](使用块堆栈核心)
-[故障排除](故障排除)
-[开发人员资源](开发人员-资源)
-[社区](社区)
-[进一步信息](进一步阅读)
-[版权和许可证](版权和许可证)




blockstack是一个用于分散式应用程序的网络,用户拥有自己的数据。

blockstack应用程序遵循**不能作恶**的设计理念。他们*不能*更改、传输或撤销用户的身份,
他们*不能*未经许可读取或写入用户的数据。blockstack提供
平台、网络和sdk,用于使用现有的web工具构建不可破坏的
应用程序。
如果您是web开发人员,您的所有技能都可以立即转移到blockstack。

blockstack应用程序看起来和感觉都像传统的web应用程序。选项。
在幕后,它们使用块堆栈API进行用户身份验证和存储。
块堆栈使用[blockstack naming
服务](docs/blockstack_naming_service.md)
(bns)处理用户身份验证,这是一个建立在比特币之上的分散命名和公钥基础设施。
区块链。它使用[gaia](https://github.com/blockstack/gaia)处理存储,这是一个可扩展的分散式
密钥/值存储系统,看起来和感觉都像"本地存储"
,但允许用户通过Dropbox或S3等现有存储系统安全地存储和共享应用程序数据。应用程序与传统的web应用程序在两个关键方面有所不同。首先,**用户拥有自己的身份**。
[blockstack browser](https://github.com/blockstack/blockstack browser)
让用户直接控制自己的私钥和配置文件数据,
并履行blockstack应用程序的SSO提供商的角色。
blockstack core提供BNS作为r用户发现彼此的公共密钥。


第二个密钥区别是**用户拥有自己的数据**。用户
选择*他们的应用程序数据的托管位置,以及*允许谁*读取数据。
gaia使用用户的
选择的存储提供程序加载和存储数据,并使用
他们的应用程序特定密钥自动对其进行签名和加密。只有指定的收件人才能验证和读取数据;存储提供程序被视为不受信任的中间人。



blockstack是用户和开发人员的双赢。用户未锁定到
应用程序或服务。取而代之的是,用户将自己的身份和数据从一个应用程序带到另一个应用程序。
只有用户选择允许,应用程序才能读取用户数据。如果应用程序脱机,用户仍保留其数据。如果用户找到更好的应用程序,他们可以无缝切换到使用它。由于数据是端到端加密的
,并且与应用程序分开托管,因此数据泄露对用户来说无关紧要
,因为黑客没有什么可以窃取的。

使用
块堆栈构建应用程序更简单,并且需要更少的操作开销,since他们不再需要存储用户数据。许多非平凡的应用程序可以使用
[blockstack.js](https://github.com/blockstack/blockstack.js)作为单页javascript应用程序实现,并部署为
静态网页。blockstack api很小,很简单,很容易集成到现有的web应用中。

blockstack core实现bns和[atlas](docs/atlas_network.md),用于gaia的存储
路由系统。blockstack core
节点构成blockstack网络的主干。每个节点索引
比特币区块链,并维护所有名称、
公钥和存储路由信息的完整副本。这使得blockstack网络对节点故障特别有弹性——应用程序只需与
单个blockstack核心节点对话即可工作,而新的或正在恢复的节点
可以从对等节点快速重建其所有丢失的状态。


Cal BlockStack核心节点位于笔记本电脑或家庭/办公室网络上,以便能够可靠地访问BlockStack网络。本地节点与块堆栈的其余核心节点保持相同的状态,因此即使上游节点不可访问或脱机,它也将保持服务名称、公钥和存储路由。


l块堆栈核心:
-[`source`](从源安装)
-[`pip`](使用pip安装)
-[`docker`](使用docker安装)



[`libssl dev`](https://www.openssl.org/source/)。Mac和Linux用户通常可以从各自的包管理器中获取这些包。

ack/blockstack core
$cd blockstack core
$python2./setup.py build
$sudo python2./setup.py install
````


**注意:**只有稳定版本(即"master")才支持使用"pip"。

blockstack是针对python 2.7构建的。如果有,应该使用"pip2"而不是"pip"。如果没有"pip2",则应验证是否为python 2配置了"pip"。

$Yum install python pip python devel openssl devel libffi devel rng tools gmp devel zlib devel

如果启动
"blockstack core"时遇到问题,可以尝试禁用selinux和/或"firewalld",如下所示:

``bash
r/>
stop firewalld
$systemctl stop firewalld&;systemctl disable firewalld
````

mp3 dev
$sudo pip install pyparsing

锁栈核心是通过Docker。我们提供此存储库的每次提交映像构建,[在quay.io上可用](https://quay.io/repository/blockstack/blockstack-core?tab=tags)。

``` shell
$git clone git@github.com:blockstack/blockstack core.git
$cd blockstack core
$docker build-t blockstack core:master.

ck-dir:/root/.blockstack server\
-p 6264:6264\
-p 6270:6270\
blockstack core:master
````


这些命令将在大约10分钟内快速同步并运行一个blockstack core节点。块堆栈核心节点的状态将存储到
`$blockstack_dir`。您可以使用"docker log s-f"或
"tail-f"$blockstack目录/blockstack server.log查看节点的日志。

注意:
-此方法目前仅在Linux上完全受支持。
-您需要"sudo"访问权限才能运行上述脚本和/或成为"docker"组的成员。
-您可以运行此安装程序的多个实例。雌激素受体。每个容器至少允许1个CPU核
-要配置不同的"bitcoid"节点,必须在运行`./docker-tools.sh init-*`命令之前编辑"blockstack server.ini"文件。运行"init-*"后,必须编辑"data/core/server/blockstack server.ini"以更改这些设置。

它将在
` ~/.blockstack server/`.


中生成一些配置状态,因为每个blockstack核心节点在本地维护一个完整的网络状态副本,当它第一次启动时,需要将其状态与比特币区块链同步。**这可能需要几天时间。**为了克服这个问题,
我们运行一些"快速同步"服务器,这些服务器将为新的块堆栈核心节点a提供网络状态的最新快照。快速同步只需几分钟。

若要从快照启动块堆栈核心节点,应运行

``bash
$blockstack core--debug fast\u sync
````

>默认情况下,它将从
`http://fast-sync.blockstack.org/snapshot.bsk'中提取快照,并使用内置公钥
验证其真实性。它将用网络状态的最新快照(不到24小时)填充您的`~/.blockstack server/`
目录。

我们建议传递`--debug`标志,这样您将收到详细的输出,这将有助于诊断您可能遇到的任何问题。

您可以在`~/.blockstack server/blockstack server.log`.


API端点的完整文档[在这里](https://core.blockstack.org)提供。下面是一些常见的示例。

```
>$curl http://localhost:6270/v1/names/muneeb.id
{"status":"registered","zonefile":"$originmuneeb.id\n$ttl 3600\n\u http.\u-tcp uri 10 1\"https://gaia.blockstack.org/hub/1j3puxy5udj3pushnyu6yktoheufphkuls/0/profile.json \"\n","expire\u block":599266,"区块链":"比特币","last\u-txid":"7E16E868888CA0488888688CA041313A33131313198BBAF16B10B10B10B10B10B10B10B10B10B1D3C9439555FC140F58E5型ab4e50793c476,"地址":"1j3puxy5udshunhrrmyu6yktoheuphkuls,"zonefile_hash":"37aecf837c6ae9bdc9dbd98a268f263dacd0361"}
````


>您可以使用以下命令停止块堆栈核心守护进程:

`````
$blockstack core stop
```

默认情况下会记录很多非错误信息。要获得
详细输出,可以将"--debug"同时传递给"blockstack core"和"blockstack
api",如下所示:

``bash
$blockstack core--debug start&;tail-f~/.blockstack server/blockstack server.log
``

地面,没有成为守护者。为此,请按如下方式运行它们:

``bash
$blockstack core--debug start--foreground
````

\developer resources

**v20.0.0.0**是当前稳定的blockstack core版本。它在"master"分支上可用。

下一个版本正在[develop]上构建(https://github.com/blockstack/blockstack core/tree/develop)。请将所有拉取请求提交给"开发"分支。

熨斗。测试框架为你的区块堆栈核心节点提供了一个本地的、私有的比特币区块链,让你不用花比特币就可以安全地用不同的名称和名称空间事务进行实验。
我们使用集成测试框架来测试从新的api调用到新的blocksta的所有内容ck browser
功能。请参阅相关的
[文档](./integration_tests)开始。

请花点时间
[查看贡献开源的指南](https://guides.github.com/activities/contribution-to-open-source/),以便让贡献过程对所有相关人员都简单有效。

lockstack维护一个公共[论坛](https://forum.blockstack.org)和一个
允许的[松弛](https://blockstack.slack.com)通道。此外,项目
维护一个[邮件列表](https://blockstack.org/signup),发送
社区公告。


更大的blockstack社区经常亲自主持
[会议](https://www.meetup.com/topics/blockstack/)。该项目的
[youtube频道](https://www.youtube.com/channel/uc3j2ihnyt2jtovtgvf_jphq)包括这些会议的
视频,以及帮助新的
用户开始使用并帮助开发人员围绕系统的
设计进行思考的视频教程。

您可以通过访问[区块堆栈网站](https://blockstack.org)并查看深入的文章和文档来了解更多信息:

-[区块堆栈如何工作(白皮书)](https://blockstack.org/docs/how blockstack works)
-[区块堆栈一般常见问题解答](https://blockstack.org)/常见问题)
-[BlockStack技术常见问题](docs/faq_technical.md)
-[BlockStack深入文档库](docs/readme.md)

/blockstack.pdf),程序。USENIX年度技术会议([atc'16](https://www.usenix.org/conference/atc16)),2016年6月
-["使用虚拟链扩展现有区块链"](https://blockstack.org/virtualchain_dccl2016.pdf),分布式加密货币和共识分类账([dccl'16](https://www.zurich.ibm.com)/DCCL/)研讨会,2016年7月,在[ACM PODC 2016]上(https://www.podc.org/podc2016/);如果您有关于BlockStack的高级问题,请尝试[搜索我们的论坛](https://forum.blockstack.org),如果您的问题没有得到解答,请开始一个新的问题。

copyright和license

代码和文档版权归属于blockstack.org,适用于2018年。


此代码根据[GPL v3许可证](http://www.gnu.org/licenses/quick-guide-gplv3.en.html)发布,文档根据[Creative Commons许可证](h)发布。http://creativecommons.org/)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入