• 注册
  • BitcoinSV
  • 今日 0
  • 帖子 12
  • 关注 26
  • BitcoinSV BitcoinSV 关注:26 内容:12

    Planaria-比特币上无限不朽的API

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • BitcoinSV
    • 幼儿园

      Planaria-比特币上无限不朽的API

      Planaria

      比特币上的无限不朽API

      Planaria-比特币上无限不朽的API

      Planaria Network GitHub Slack Twitter


      它是什么

      Planaria-比特币上无限不朽的API

      您熟悉Ruby on RailsDjangoLaravelSpring等API框架吗?

      Planaria就像这些框架,但是:

      1. 100%由比特币供电
      2. 集装箱化作为API微服务
      3. 只需要JavaScript技能即可编程

      任何人都可以构建和发布公共Planaria节点,任何人都可以连接到公共Planaria节点来构建无服务器应用程序。查看您现在可以使用的一些公共Planaria节点:

      浏览Planaria网络


      什么方式

      以下是它的工作原理:

      1. 抓取: Planaria以编程方式抓取比特币区块链。
      2. 索引:索引MongoDB实例中的已爬网结果。
      3. 服务:提供Docker容器化HTTP [S]和SSE(服务器发送事件)微服务API端点。

      由于容器化的架构,一切都是便携式的。没有一个组织可以拥有API端点。任何人都可以使用一个命令部署和运行公共Planaria API端点。

      Planaria-比特币上无限不朽的API


      WHY

      为什么要在比特币上构建API?

      1. Portable&Serverless:没有单个服务器运行API。任何人都可以立即启动Planaria节点。
      2. 透明:构建100%透明API。数据和代码都公开存储在比特币上。
      3. 不可变:构建一旦部署就无法更改的API。
      4. 不朽:构建可以永远活跃主机的API。即使一个节点消失,任何人都可以出现并完全重现相同的节点。
      5. Monetizable:构建可以使用比特币本地无缝货币化的API。

      特征

      Planaria是一个一体化框架,用于构建,发布和运行由比特币驱动的微服务API端点,具体包括:

      • 通用查询语言; 功能强大的内置声明性查询语言(Bitquery),可移植,可编程,图灵完整。
      • HTTP [S]:开发人员友好的HTTP [S] API,可以在任何编程语言的任何环境(Web,移动,服务器端,嵌入等)中使用,这要归功于基于JSON的可移植查询语言。
      • SSE(服务器发送事件):一种可编程推送API,允许消费者使用相同的查询语言订阅各种比特币事件模式。

      Planaria计算机

      Planaria Computer是一个命令行界面应用程序,可用于构建和管理Planaria API和节点。

      学习Planaria计算机


      Planaria网络

      Planaria网络是一个注册表,您可以在其中发布Planaria状态机。

      有两种发布模式:

      1. 发布代码:共享代码,以便其他人(或您自己)可以运行代码。
      2. PublLet API:打开您的节点以供其他人用作后端。

      学习Planaria网络


      社区和帮助

      在潜入之前,这里有一些有用的链接,可能有助于您与Planaria的旅程:

      推特:在Twitter 上关注@_unwriter,获取Planaria相关公告

      Github:Planaria Github存储库。Planaria是100%开源的。

      Slack:有疑问吗?加入聊天并与其他比特币开发者见面。

      版 主
      小学生
      管理员
      打赏了88μBSV。
      回复
      幼儿园

      介绍

      Planaria基于对比特币的不同思考方式,而不仅仅是“金钱”。

      本页将首先解释设计理念,然后对Planaria如何工作进行实际解释。

      比特币

      让我们将比特币视为永久旋转机器,无限电机。

      这个“电机”穿越时间并收集通过每次旋转发生的所有事件(事务)并获取不可变的快照()。

      旋转逻辑(比特币算法)具有确定性和安全性(由工作证明提供支持),使其成为为各种有用机器提供动力的完美稳定技术。

      现在我们已经设置了上下文:

      Bitcoin == Motor

      我们可以考虑如何用电机(比特币)制造机器。但首先,究竟什么是“机器”

      机器是一种功能机器将电动机作为恒定的能量源,并将能量转换成人类或其他机器可以消耗的各种形式

      Machine = F(Motor)

      请注意,“电机”在所有三个图形中以恒定方式旋转,但我们最终得到了来自不同形状(机器)的多个不同波形(特征)。

      这是Planaria背后的主要理念:

      您可以从一个可靠的电机(即比特币)创建无数个“机器”。

      有限状态机

      Planaria允许您构建状态机。什么是状态机?

      ...是一个抽象机器,在任何给定时间都可以处于有限数量的状态之一。FSM可以根据一些外部输入从一种状态变为另一种状态; 从一个州到另一个州的变化称为过渡。FSM由其状态列表,其初始状态和每个转换的条件定义。

      一个简单的方法:我们每天使用的每台“机器”都是某种形式的状态机。例如,地铁旋转门是一种“状态机”,因为它可以有多个状态并对外部“输入”作出反应以产生“输出”:

      如果你只使用比特币来建模状态机,就可以实现任何类型的真实世界机器。

      这就是Planaria的意思。

      无限状态机

      能够用比特币构建状态机已经非常强大。您可以使用比特币作为后端构建任何实际应用程序。但是,有了比特币,我们可以走得更远。

      我们可以构建不受资源约束的应用程序。

      我们可以构建以下机器:

      • 正在运行而不是同时运行。

      • 不必存在,也不必在今天运行,但今天可以被视为“正在运行”。

      • 可以有多个并行状态甚至相互矛盾。

      • 永远不会死,即使他们不活着。

      • 可以以非确定的方式彼此交互。

      • 可以以其原始发明者从未预见过的组合相互作用。

      • 在没有外部干预的情况下产生其他此类机

      Planaria将比特币视为“电机”而非“机器”。

      注意:

      一旦比特币脚本限制消失,Planaria将变得更加强大,我们将能够使用比特币脚本在比特币上实现各种有限状态机,并且Planaria将能够帮助外部世界轻松地与他们交互。


      涡虫

      有很多方法可以描述Planaria是什么,因为它对不同的人来说意味着不同的东西。

      1.比特币应用框架

      您是否熟悉Ruby on RailsDjangoLaravelSpring应用程序框架

      Planaria就像这些框架,但对于比特币,你可以用JavaScript编写应用程序。

      如果你已经熟悉BitdbBitSocket,那么Planaria基本上是一个用于构建自己的BitDB和Bitsocket的框架。

      BitDB(GenesisBabelChronosMeta)的所有现有变体都是Planaria节点。

      因为它是由比特币驱动的,所以它具有我们在传统的集中式云范例中从未见过的各种独特特征:

      1. 透明:因为所有数据都是以透明方式从比特币派生的,所以您可以确保生成的机器按设计运行。此外,任何人都可以通过拉动和运行节点来验证自己,只需几个简单的命令。

      2. 便携式:所有planaria机器都是容器化的,可以作为单个便携式node.js模块发布,这意味着其他任何人都可以获取已发布的代码并运行与您完全相同的状态机。

      3. 可共享:一个组织拥有整个后端没有任何价值,因为所有内容都源自透明存储在比特币上的公共数据和公共算法。后端可以并且将比原始创建者更长久。

      4. 可定制:您可以自定义Planaria的数量没有限制。您甚至可以将它与外部事件生成器和API混合,以构建由比特币驱动的新颖后端。

      5. 用户友好:不像大多数书呆子技术让你跳过各种环节来实现“分散化”,Planaria让你与比特币交互,就像它只是一个带有HTTP API的常规CRUD数据库。

      它还附带了一个名为Planaria Computer命令行界面工具,通过让你通过几个命令来支撑和生成这些后端,这使得这更加容易。

      2.自治CRUD数据库

      从技术上讲,Planaria是:

      • 容器化的MongoDB实例

      • 暴露可编程CRUD API

      • 这只能被比特币调用。

      因为只有比特币可以写入数据库,所以没有“用户编写API”因此,构建Planaria节点意味着您编写了一个Bitcoin遵循的程序来写入数据库。以下是它的工作原理:

      1. 比特币事件作为输入:整个堆栈是100%基于比特币的状态。一切都可以从比特币区块链中获得。

      2. 在Node.js中编写比特币应用程序:作为Planaria节点开发人员,您可以编写一个程序来指示容器如何自动检测各种比特币事件并将其转换为数据库CRUD操作。

      3. 在MongoDB中存储状态: Planaria在其MongoDB实例中维护自定义状态。Planaria节点开发人员可以通过编写执行此操作的程序来构建节点。

      因为所有数据库系统都可以通过这种方式重现,只需使用事件+转换逻辑,我们就可以使用比特币构建任何可变数据库。

      Planaria 为此提供了一个CRUD(创建读取更新删除) API,因此任何人都可以轻松地构建自己的自定义比特币派生数据库。

      3.比特币衍生状态机

      每个Planaria都是一个由比特币驱动的状态机。

      • 输入:一个事件监听器,用于监听比特币的实时事件和状态。

      • Transition Logic:处理状态转换的程序(使用CRUD API)

      • 状态内存:持久化和更新状态的“内存”(MongoDB)

      • 输出逻辑:为其他模块和SSE发布自定义可编程事件的事件生成器

      输入

      该涡虫框架提供了一组API方法(onmempoolonblockonrestart),它让你听不同事件类型和运行自定义代码来处理事件。

      过渡逻辑

      该涡虫框架提供了一组CRUD API方法,让你写状态转换逻辑(createreadupdatedelete)很容易,没有你不必担心所有幕后的细节(如批量的写操作)

      国家记忆

      Planaria作为一组两个Docker容器planariaplanarium运送planaria容器是履带式车辆/分度器组件,其写入到集装箱MongoDB实例使用过渡逻辑API从上方。planarium容器是一个HTTP + SSE API端点从同一共享MongoDB的读取。

      输出逻辑

      Planaria还允许您编写逻辑来广播您自己的zeromq事件以供其他模块订阅。

      这包括planarium自动将Zeromq发布转换为SSE(服务器发送事件)API 容器,用户可以使用Bitquery订阅该API。

      回复
      幼儿园

      4.无限状态机

      这是比特币最强大的部分:您可以构建不受资源约束的永恒机器。

      一种全新的应用程序,只有通过非常精确的比特币最小架构和比特币才能实现。

      您可以构建以下机器:

      1. 可以同时作为多个并行状态存在

      2. 不必一直运行和验证,但仍然永远存在。

      3. 可以超越时空。

      4. 可以产生后代和进化。

      作为一个思想实验,让我们想象在比特币上建立一个薛定谔的猫

      基本上我们想要创建一个独立的系统:

      • 有一个静态事件流

      • 但有无限的动态解释(功能)

      在任何现有系统中构建此系统是不可行的,因为如果我们必须同时运行所有这些系统。特别是如果它意味着在链上运行它们。我们受资源的约束。

      但是,如果我们能够:

      • 可证明地“发布”一个应用程序

      • 但不必同时运行它们,

      • 然后再运行它们好像它们一直在运行?

      由于容器化应用程序的可移植性,这可以通过比特币(通过Planaria)实现。

      运行节点就像一些命令一样简单,并且所有机器都是透明发布的,这意味着任何人都可以运行相同的代码来验证其他人的计算。

      理解新范式

      在比特币上构建应用程序需要重新思考我们在旧的集中式云模式中认为理所当然的许多事情。

      分散的AUTH

      旧模型

      在传统的云模型中,服务器提供的最重要任务之一是身份验证和授权。这就是为什么应用程序很难移植的原因。这就是为什么当一家公司倒闭时,它的应用程序随之而来。

      新模式

      使用比特币,在边缘上的协议级别上进行身份验证。您拥有所做的每个“API请求”的密钥。这意味着我们不再需要存储和处理身份验证和授权详细信息的中央权限。

      由于每个比特币交易中都有内置签名,因此默认情况下,Planaria上的每个“数据库条目”都以自包含方式进行身份验证。

      应用程序不再需要单独的专有私有身份验证数据库

      Planaria如何适应图片:

      Planaria根本不涉及AUTH。它假设用户将通过各种伟大的“WRITE”方法(如钱包或应用程序前端)与比特币进行交互,并且仅关注READ部分


      分拆READ&WRITE

      在传统的云范例中,中央服务器负责WRITE和READ。

      您发出POST请求以将数据写入服务器,并发出GET请求以从服务器读取数据。如果服务器禁止你,你就不再存在于那个世界,因为无法写入世界。

      比特币改变了这种范式。WRITES与READ分开。

      您仍然可以通过HTTP端点读取GET请求,但这次,WRITE是通过您的比特币钱包完成的。因此,没有人可以阻止你写比特币。

      Planaria如何适应图片:

      Planaria只读我们的想法是,区块链中会有各种各样的上下文方法,因此Planaria保持最小化,只关注READ。


      自治应用

      另一个重要的区别是,你可以建立能够生活在没有业主自治的应用

      传统上,发明人会创建一个应用程序并维护它。但是当他们停止运行应用程序时,他们只会关闭并继续前进(或者如果他们真正关心的话,还可以开源代码)。

      在任何一种情况下,最重要的部分 - 国家 - 要么被抛弃,要么卖给另一个实体。复制代码很容易,但状态是时间的结果,时间不能轻易复制。这就是大多数应用程序来来往往的原因,即使有许多人想继续使用这些应用程序。

      当您使用比特币为应用程序供电时,这会发生变化。

      默认情况下,整个应用程序状态都是公共的,而Planaria可以在几秒钟内轻松发布和部署它们。这意味着应用程序及其用户不必担心创建者和维护者的命运。

      Planaria如何适应图片:

      Planaria允许您编写本节中描述的应用类型您需要做的就是编写一个Planaria节点程序,并将代码本身部署到区块链中。


      比特币作为消息总线

      比特币是现有的唯一可以大规模推广TRULY自主应用的技术

      1. 极简主义: 比特币最小的UTXO数据结构使其成为有史以来最具可扩展性的技术比特币是存储任何类型事件的最小可能数据结构。你不能比比特币更小。并且可以从事件中导出任何状态。尝试存储更多冗余数据的所有其他方法将比比特币的成本更低。规模经济将确保一个开放的优越技术将在长期内取得胜利。

      2. 端到端原则众所周知,协议应尽可能小,并期望边缘处理细节。这是互联网本身设计的原则。这就是比特币的工作原理。这就是它运作的原因。

      3. 没有人类政治参与比特币摆脱了人类政治。由于比特币的工作证明系统,人类政治没有空间。比特币是该模型大规模运作的唯一技术。其他一切都已经或已经转向利用一种名为“赌注”的概念,也被称为政治。

      比特币是现存的唯一纯粹的全球消息总线技术,不受人类政治和腐败的影响。

      这就是Planaria让你构建的东西。


      透明计算

      因为Planaria从比特币中获取所有内容,所以Planaria驱动的应用程序的每个方面都是透明的。

      我们可以将每个Planaria节点视为纯数学函数,它将比特币的输出作为输入。

      此外,一旦您将Planaria节点逻辑本身上传到区块链,我们就可以实现完全透明,因为:

      1. 状态机代码是公共的(因为它存储在区块链中)

      2. 国家是公开的(因为它100%来自比特币)

      3. 任何人都可以立即自行提取,部署和运行节点进行验证。


      不朽的机器

      应用程序架构的集中式云模型的一个问题是,从长远来看,它们都已经死了。

      应用程序的命运100%取决于其主机的命运。比特币给了我们改变它的方法,而Planaria实现了它。

      Planaria的核心理念是它不仅将应用视为有机体,而且视为基因。基因是不朽的

      每个Planaria节点都由两个最小组件组成:

      1. 输入:比特币事件(100%来自比特币)

      2. 状态转换逻辑:这是“基因”。您可以编写一个程序来描述状态机的行为方式,并将其存储在区块链中。

      由于容器化架构(由Docker提供支持),任何planaria应用程序都可以立即从头开始重新创建,只需从网络中拉出“基因”并启动即可。


      回复
      幼儿园

      快速开始

      您可以将Planaria节点视为后端这意味着您可以使用Planaria做两件事:

      1. 通过连接到现有的Planaria节点来构建无服务器应用程序

      2. 运行您自己的专用Planaria后端即服务

      在这里我们将讨论前者:构建应用程序除非您对Planaria节点有新颖的想法,否则建议大多数人使用此方法。

      1.安装Planaria计算机

      首先,安装PC(“Planaria计算机”的缩写),这是用于与Planaria连接的命令行实用程序:

      npm install -g planaria

      2.生成比特币密钥对

      要连接到各种Planaria节点,您需要使用比特币地址标识自己。您可以使用PC生成一个:

      pc new user

      这将创建一个新的比特币密钥对并将其存储在您的主目录下。您可以使用以下命令检查生成的键:

      pc ls user

      3.选择要连接的Planaria节点

      由于灵活性,可以在几分钟内构建和启动任何类型的API微服务。

      A.发现

      涡虫网的网站是一个网站,您可以:

      1. 发布Planaria虚拟机:发布代码

      2. 发现Planaria虚拟机:发现并立即拉出要运行的代码

      3. 发现Planaria公共节点:发现您可以作为应用程序开发人员连接的在线公共节点。

      在本教程中,我们将构建一个应用程序,并将选择一个名为Genesis的现有节点(我们将在以后学习如何运行节点)

      B.查找公共节点

      涡虫网网站是一个信息库,但它也让运营商节点发布自己的在线状态,让开发者连接到他们的API端点。

      当有一个运行特定Planaria机器的在线公共节点时,您将看到顶部的绿色框。

      单击节点以访问节点仪表板。

      C.获取API端点

      节点仪表板看起来像这样:

      单击query按钮以访问查询资源管理器。

      当您访问查询资源管理器时,您将看到“API端点”区域。复制到 链接零件。这是API的根路径。

      之后的部分/q/是比特币地址。

      它用于唯一地标识每个Planaria状态机,而不依赖于中央服务器。

      4.发出HTTP [s]请求

      现在您已准备好连接到Planaria节点。您可以使用从步骤2生成的“API KEY”发出HTTP [s]请求

      浏览器:

      <html> <body> <pre>loading...</pre> <script> var query = {   v: 3,   q: { find: {}, limit: 5 } }; var b64 = btoa(JSON.stringify(query)); var url = "https://genesis.bitdb.network/q/1FnauZ9aUH2Bex6JzdcV4eNX7oLSSEbxtN/" + b64; var header = {   headers: { key: "1KJPjd3p8khnWZTkjhDYnywLB2yE1w5BmU" } }; fetch(url, header).then(function(r) {   return r.json() }).then(function(r) {   var result = JSON.stringify(r, null, 2);   document.querySelector("pre").innerHTML = result; }) </script> </body> </html>

      Node.js的

      var axios = require('axios') var query = {   v: 3,   q: { find: {}, limit: 5 } }; var s = JSON.stringify(query); var b64 = Buffer.from(s).toString('base64'); var url = "https://genesis.bitdb.network/q/1FnauZ9aUH2Bex6JzdcV4eNX7oLSSEbxtN/" + b64;  var header = {   headers: { key: "1KJPjd3p8khnWZTkjhDYnywLB2yE1w5BmU" } };  axios.get(url, header).then(function(r) {   console.log("Fetched: ", r.data) })

      4.订阅SSE(服务器发送事件)

      您还可以编写相同的查询来侦听来自Planaria的特定事件模式。

      浏览器:

      <html> <body> <script> var query = {   "v": 3, "q": { "find": {} } } // Base64 encoded query var b64 = btoa(JSON.stringify(query)) // Subscribe to EventSource var socket = new EventSource('https://bitsocket.org/s/'+b64) // Handle new messages socket.onmessage = function(e) {   document.write("<pre>" + JSON.stringify(JSON.parse(e.data), null, 2) + "</pre>") } </script> </body> </html>

      Node.js的:

      var EventSource = require('eventsource') var query = {   "v": 3, "q": { "find": {} } } var b64 = Buffer.from(JSON.stringify(query)).toString("base64") var socket = new EventSource('https://bitsocket.org/s/'+b64) socket.onmessage = function(e) {   console.log(e.data) }

      5.从这里开始

      我们只看了“如何使用”部分。从这里你可以:

      1. 使用现有Planaria API构建应用程序

      2. 构建自己的Planaria API

      使用现有Planaria API构建应用程序

      浏览Planaria网络以查找可以连接到的一些Planaria节点:

      Planaria网络

      了解有关查询语言的更多信息:

      学习Bitquery

      了解有关一些着名的Planaria节点的更多信息:

      阅读教程

      构建自己的Planaria API

      了解您可能想要构建自己的Planaria API的原因:

      Planaria用例

      了解如何运行自己的节点:

      运行你的节点

      了解如何编程可部署到节点的Planaria状态机:

      编程Planaria机器


      回复
      幼儿园

      用例

      区块链探险家

      比特币已经存在了十年,但我们有很少的“资源管理器”服务,让人们了解区块链。这是因为这些“探险家”的构建考虑了一个非常狭窄的用例。

      Planaria将比特币视为计算机,旨在补充这一愿景。

      使用Planaria,您可以构建自己的自定义“块浏览器”,以您想要的任何方式运行。

      公用事业数据库

      使用Planaria,您不仅可以轻松构建这些数据库,还可以将它们转换为可货币化的公用事业,这要归功于紧密集成的比特币系统。

      法医数据库

      您可以使用Planaria派生各种数据库。您只需要编写一个程序来指导如何映射和过滤比特币。

      一个很酷的用例是用于检测异常或潜在恶意事务模式的取证数据库。

      分析数据库

      您可以为应用程序使用,协议使用,事务模式使用等构建单独的独立分析数据库。此数据库可以独立于实际运行应用程序的任何人运行。

      可修数据库

      您可以构建一个数据库,根据特定条件自动修剪自己。Chronos

      短暂的数据库

      您可以构建一个随时间更新的数据库。

      Web应用程序后端

      请记住,Planaria本质上是一个开发框架,允许您从比特币构建任何类型的状态机。

      这意味着您可以重新创建任何现有的真实应用程序,但不使用传统的云模型,而是使用比特币。

      长尾应用

      应用程序和数据库可以尽可能地利用。

      例如,您应该能够为您的家人或仅仅为邻居运行数据库,完全使用比特币。

      这是可能的,因为Planaria充当“过滤器”。过滤和转换是Planaria的目的,因此您可以构建一个过滤和转换的比特币版本,以满足特定的利基需求。

      便携式应用

      当您将应用程序存储在比特币上时,您实际上拥有一个可以在保留状态的同时进行分叉或进化的应用程序。这很简单,因为分叉应用程序所需要做的就是使用Planaria代码,进行一些修改并进行部署。然后让人们加入你的分叉。

      这可用于实现:

      1. 协议升级:当整个社区迁移到新分支时,应用程序可以“升级”。

      2. 协议治理:让社区通过选择使用哪个分支进行投票。

      3. 协议专业化:构建更多来自原始应用程序的小众应用程序,这些应用程序更通用。

      多用途后端

      Planaria旨在促进数据存储的“长尾”。

      更通用的数据库可以是更小众数据库的超集。

      例如,Genesis是一个仅附加的Planaria节点,用于存储整个事务对象,是Babel的超集,Babel是一个仅附加的Planaria节点,仅存储仅包含OP_RETURN输出的子集。

      终极比特币过滤器

      Planaria的主要优势在于它可以让您mapfilter比特币以您想要的任何方式将其转换为具有HTTP和SSE(服务器发送事件)API的数据库。

      地图

      映射意味着您可以比特币转换为您想要的任何格式。您可以通过这种方式构建各种有用的应用 这里有些例子:

      1. 截尾数据库:每当您检测到某些交易模式时,您可能希望首先在存储和提供之前以“审查”(通过马赛克等)的方式对其进行转换。

      2. 预览数据库:您可能希望构建一个单独的数据库,用于存储原始数据的“预览”版本,您可能希望通过该数据获利。“预览数据库”将是公开可用的,但原始内容可以加密存储。

      3. 压缩数据库:您可以在存储之前应用某些压缩算法,而不是存储原始内容。

      4. 内容可寻址存储:对于某些内容,您可能希望对它们进行哈希以创建校验和,并存储校验和。这样您就可以实现内容可寻址存储。

      过滤

      Planaria节点提供程序还可以透明地对其节点进行编程,以在其数据库中排除或包含某些类型的事务。

      这包括以下示例:

      1. 低价值的交易:例如,从数据库中省略压力测试交易

      2. 专业的交易子集:另一方面,您可以创建一个非常专业的数据库,仅仅抓取所述压力测试事务。这对大多数人来说可能毫无用处,但对于那些进行压力测试的人来说可能是有用的。

      3. 遗漏非法内容:您可以过滤比特币,过滤掉所有非法内容而不是存储在数据库中(例如,儿童色情内容)。过滤算法本身可以编程为状态机并在多个应用程序之间共享。

      比特币作为IPC(进程间呼叫)

      您还可以将比特币纯粹用作事件来触发您在JavaScript中编写的任何应用程序。

      例如,您可以编写一个程序,自动发送电子邮件或短信,或者在有特定模式的传入比特币事件时发送推文。

      你可以使用Node.js构建任何东西,你可以使用比特币,通过Planaria

      透明的私人计算

      您甚至可以实施“透明的私人计算”

      仅仅因为一切都是透明的并不意味着一切都必须公开。通过各种巧妙的技巧,您可以构建一个“加密的应用程序”。这是一个例子:

      1. 构建Planaria节点

      2. 在Planaria节点的代码的某些部分使用加密。

      3. 公开发布代码,但仅与利益相关者共享密钥。

      这种方法的好处是它充分利用了两个世界(由比特币驱动的透明计算+由加密驱动的私人计算)

      1. 可审计 “日志”是透明的,因此可以在以后需要时审核整个状态转换历史记录。

      2. 私有:虽然日志是透明的,但由于加密,利益相关者组之外的任何人都无法看到日志中的事件意味着什么。它只能由持有解密密钥的利益相关者解释。

      ANYTHING

      请记住,所有现代应用程序都只是CRUD后端API + 前端用户界面

      而Planaria允许您从比特币构建“CRUD后端API”部分。所以这意味着您可以构建任何数据库 - 因此任何比特币驱动的API - 您可以想象。

      回复
      幼儿园

      指南

      关于Planaria在比特币之上构建应用程序的方法的范式转变是:运行后端的人不再重要。

      后端运算符(Planaria节点运算符)充当实用程序提供程序,而不是控制您的数据。这是因为:

      1. Planaria上的所有内容都源自比特币数据

      2. 应用程序逻辑本身是透明发布的

      考虑到这一点,以下是选项:

      A.使用节点

      对于大多数开发人员来说,这是要走的路。如果有其他人正在运行您需要的后端,则无需运行后端。

      没有人可以控制后端,因为任何人都可以使用单个Docker命令开始运行相同的节点。

      将Planaria节点视为具有统一查询语言协议的分散式数据库系统。

      您必须连接到没有单个中央服务提供商,这意味着没有中央身份验证系统。比特币是您的身份验证方案。Planaria允许您使用您在客户端生成的比特币地址进行身份验证。

      1. Planaria网络

      Planaria容器发布到Planaria网络,您可以在其中发现现有公共节点并连接到其API。

      访问Planaria网络


      2. Planaria计算机

      Planaria计算机是一个命令行界面应用程序,可帮助:

      • 脚手架planaria应用程序

      • 管理“API密钥”(比特币密钥对)

      • 管理Planaria容器

      • 发布您的planaria状态机

      • 使用网络中的现有Planaria状态机

      学习Planaria计算机


      3.试试

      尝试使用Quickstart,它允许您使用现有的Planaria节点构建无服务器的应用程序:

      快速开始


      B.运行节点

      您可能想要运行自己的Planaria节点有几个原因:

      1. 你有一个新颖的API想法

      2. 您不想依赖任何其他节点

      0.先决条件

      唯一的先决条件是您需要运行比特币节点。

      访问比特币SV节点下载页面

      1.安装

      在我们开始之前,我们需要安装一些东西。

      A.安装Docker

      如果您的计算机上没有安装docker,可以按照此处的说明操作:https//docs.docker.com/install/#supported-platforms

      B.安装Docker-compose

      您还需要安装docker compose。Docker compose可让您轻松管理多个docker容器。Planaria运行在两个核心容器上:

      1. Planaria: Crawler + indexer

      2. Planarium:查询处理器+ HTTP端点

      所以我们需要docker-compose来管理它们。按照此处的说明安装:https//docs.docker.com/compose/install/

      C.安装Planaria计算机

      最后,安装Planaria Computer该工具可以完成生成,部署和管理planaria状态机的所有繁重工作。

      npm install -g planaria

      2.创建一台新机器

      让我们创建一个新的状态机。

      pc new machine

      这将引导您完成快速调查问卷并生成项目支架。

      3.启动机器

      创建新计算机时,默认情况下会生成Genesis BitDB

      我们可以在本教程的后面自定义它,但是现在让我们运行默认值。

      pc start

      系统将询问您是否加入Planaria网络。如果你想私下跑,你可以说“不”。默认值为“是”(Planaria的整点是透明的群计算,这意味着所有后端都应该是透明的和可重现的,因此公开是重要的)

      您将看到两个容器启动:

      1. Planaria:核心爬虫和索引器

      2. Planarium:用于与Planaria交互的HTTP + SSE(服务器发送事件)API端点。

      4.使用机器

      现在我们都准备好了!让我们打开浏览器并检查。有两个按钮。

      HTTP [S]资源管理器

      如果单击“查询”按钮,您将被发送到HTTP [S] API Explorer:

      SSE Explorer

      如果单击“套接字”按钮,您将被发送到SSE API Explorer:

      5.编程状态机

      现在我们已经看到了默认的机器,让我们尝试构建我们的自定义机器。

      有关详细信息,请参阅编程Planaria

      6.将计算机部署到Planaria网络

      如上所述,Planaria是关于透明度的全部。

      与传统云不同,基于比特币的服务必须100%开放和透明。否则您的用户将无法信任您。

      这就是为什么Planaria的主要设计原则是透明度

      整个状态机可以使用单个JavaScript文件进行编程,您可以将其公开发布到存储库以与全世界共享,这样您的用户就可以知道后端正在运行哪些代码。

      要部署到planaria网络注册表,请进入您的genes/[Address]所有文件所在的文件夹,并且:

      pc push

      7.运行现有Planaria计算机

      一旦Planaria机器存储在planaria.network上,任何人都可以轻松地拉动和运行它。

      你需要做的就是:

      pc pull [Address]

      您可以在每个planaria页面的顶部找到planaria地址

      [图片。截图]

      这种易于部署和运行其他人的机器至关重要。它意味着100%便携式后端永远不会消失。通过“永不消失”我的意思是:

      1. 即使最后一个运行机器的人关闭它,它仍然没有死。有人可以在100年后拉出代码并运行它,它将通过爬行比特币区块链重新创建整个状态。

      2. 即使一个节点发生故障,如果在同一透明planaria代码上运行其他节点,API使用者也可以轻松迁移到此新节点。

      8.同时运行多台机器

      您甚至可以同时在单个节点上运行多台计算机。

      pc pull [ADDRESS]

      只需从根文件夹中提取多台计算机,它们都将安装在以下位置genes/[ADDRESS]

      当您使用以下命令启动节点时:

      pc start

      并访问Planarium根路径,您将看到所有计算机都显示在列表中:


      C.构建节点

      您可以构建自己的planaria节点。

      Planaria框架由两部分组成:

      1. Planaria:面向比特币的组件

      2. Planarium:面向人的组件

      1.构建Planaria

      了解如何对面向比特币的爬虫+索引器进行编程:

      编程Planaria

      2.建立Planarium

      了解如何编程API端点(HTTP [s] + SSE)

      编程Planarium


      回复
      幼儿园

      不明觉厉,牛逼

      回复
      幼儿园


      Planaria计算机

      Planaria Computer是一个命令行界面

      • 脚手架planaria应用程序

      • 将比特币密钥对作为API密钥进行管理

      • 管理Planaria容器

      • 发布您的planaria状态机

      • 从网络中提取和部署现有的Planaria状态机

      安装

      Planaria计算机是NPM包。您可以通过运行全局安装它:

      npm install -g planaria

      用户命令

      新的

      创建一个新用户

      pc new user

      2. ls

      列出用户帐户

      pc ls user

      机器命令

      新的

      创世纪

      要尝试包含所有可用属性的默认Planaria,请使用以下命令生成新计算机:

      pc new genesis

      创建一个空的新项目:

      pc new machine

      您将收到一份简短的问卷。

      完成调查问卷后,该命令将自动生成运行planaria节点所需的所有文件:

      现在你准备开始吧!


      2.开始

      启动一个节点

      1. 启动Planaria

      2. 启动Planarium

      3. 全部启动

      启动Planaria

      Planaria是“写”界面。以下是启动Planaria容器的方法:

      pc start write

      启动Planarium

      Planarium是“读取”界面。以下是启动Planarium容器的方法:

      pc start read

      全部开始

      您可以使用简单的命令启动Planaria和Planarium:

      pc start

      这将首先启动Planaria,然后启动Planarium。


      停下来

      停止一个节点

      1. 停止Planaria

      2. 停止Planarium

      3. 全部停止

      停止Planaria

      Planaria是“写”界面。以下是停止Planaria容器的方法:

      pc stop write

      停止Planarium

      Planarium是“读取”界面。以下是停止Planarium容器的方法:

      pc stop read

      停止所有

      您可以使用简单的命令停止Planaria和Planarium:

      pc stop

      这将首先停止Planarium,然后停止Planaria。


      4.重启

      重新启动节点。

      restart如果您已经有一个正在运行的节点并使用单个命令重新启动,则可能需要使用

      1. 重启Planaria

      2. 重启Planarium

      3. 重启全部

      重启Planaria

      重启Planaria

      pc restart write

      重启Planarium

      重启Planarium

      pc restart read

      全部重启

      重新启动Planaria和Planarium

      pc restart

      5.日志

      显示日志。docker logsPlanaria / Planarium容器的便捷方法。

      Planaria日志

      开始观看Planaria(写)日志。显示最后N行Planaria容器日志,并开始观察。

      pc logs write [LINES]

      你也可以输入以下内容开始观看最后1000行(默认)

      pc logs write

      Planarium日志

      开始观看Planarium(阅读)日志。显示最后N行Planarium容器日志并开始观看。

      pc logs read [LINES]

      你也可以输入以下内容开始观看最后1000行(默认)

      pc logs read

      在内部,这只是一种方便的方法docker logs -f [CONTAINER_ID] --tail [LINES]。毕竟,一切都是一个docker容器,所以你可以使用docker命令


      倒带

      将时间倒退到指定高度之前

      pc rewind [height]

      以上命令将:

      1. 停止所有容器(首先Planarium,然后Planaria

      2. 将Planaria的时钟倒退到 height

      3. 重新启动Planaria,它将执行onrestart

      当然,您必须实现onrestart处理倒带的方法,例如清理所有相关项目height并重置时钟。


      推动当前的机器

      pc push

      您必须在genes/[ADDRESS]文件夹中运行命令,因为您将每个“基因”推送到注册表,而不是整个节点。

      注意:一个节点可以运行多个“基因”(Planaria机器)


      从根文件夹运行命令:

      pc pull [ADDRESS]

      注意:您可以同时从单个节点拉出(并运行)任意数量的计算机。


      9.更新

      更新Planaria和Planarium图像

      1. 更新Planaria

      2. 更新Planarium

      3. 全部更新

      建议:停止容器后运行更新。

      更新Planaria

      将Planaria更新为最新的稳定映像

      pc update write

      更新Planarium

      将Planarium更新为最新的稳定图像

      pc update read

      全部更新

      将Planaria和Planarium更新为最新的稳定图像

      pc update


      回复
      幼儿园
      打赏了1μBSV。
      回复
      幼儿园

      Planaria网络测试版

      Planaria Network是一个公共注册中心,您可以立即:

      1. 发布Planaria节点代码。

      2. 克隆,分叉并运行已发布的Planaria。

      3. 注册您的公共节点端点以供其他人连接。

      浏览Planaria网络


      特征

      • Planaria代码注册表:编写和共享Planaria代码。

      • 公共节点注册表:您可以运行并打开公共API访问权限供其他人使用。

      • 分散式身份验证:无需集中身份验证。使用比特币签名进行身份验证。


      Beta版

      目前Planaria Network处于测试阶段且存储库存在于单个服务器上,因为它处于早期阶段,而Planaria项目本身可能需要根据实际使用情况和反馈进行多次更新迭代。

      当“主网”发布时,我们至少会有以下内容:

      1. 比特币注册表:所有Planaria代码将使用文件上传协议(如B://)托管在比特币上

      2. 货币化:所有Planaria节点都与比特币地址相关联。Planaria可以处理对Planaria节点的API访问。

      3. 安全性:确定性密钥,强大的密钥管理等。


      回复

      请登录之后再进行评论

      登录
    • 帖子间隔 侧栏位置: