区块链什么时候兴起的,区块链什么语言开发比较好

  

  区块链是一项别出心裁的发明,有望让数字世界变得更安全、更去中心化。通过允许数字信息的传播而不是复制,区块链科技创造了一种新型的互联网。最初是为数字货币中的比特币设计的,现在科技界正在寻找这项技术的其他潜在用途。在不久的将来,我们将看到区块链用于各种日常交易,无论是银行交易还是在电子商务网站上购物。   

  

  世界上每个人都知道或者至少听说过区块链。但是很少有开发人员知道如何开发区块链令牌或应用程序,或者从哪里开始。让我们稍微详细地看一下区块链应用程序的开发过程。   

  

  区块链开发简介   

  

  现在,我假设你已经了解了区块链的基本知识,即区块链是什么,它起源于哪里,可以用在哪里。   

  

  像其他开发过程一样,区块链应用程序或令牌开发也需要我们描述应用程序的范围和目的。可以是比特币之类的代币,可以是精明的房地产合同,也可以是别的。让我们看看这些实际开发的先决步骤。   

  

  1. 发展的观点   

  

  第一步是决定――我想拿区块链怎么办?   

  

  如果您想使用区块链为一个自制的业余应用程序存储用户数据,您可能走错了路。即使你想用区块链获得一个中等规模的应用,你也需要权衡区块链的收益和成本。您需要确定应用程序的用例,并确定您的想法是否需要区块链。应该注意,区块链是一种加密数据和验证交易的方法。如果没有正确实现,它就不能保证交易的额外安全性。   

  

  一旦你得出结论,区块链对你的项目是必不可少的,你需要意识到区块链的发展是昂贵的。开发区块链应用程序有几种方法。下一节将讨论这些方法,它们的成本和功能是不同的。   

  

  区块链使用作为一个有效的例子,如果你是一名房地产经纪人,想要建立一个基于区块链的供应链应用程序,可以为你出售的每个属性保留一个账本,那么你应该知道该应用程序的多个用例,以及它将如何使你的企业和消费者受益。   

  

  2. 确定合适的区块链平台   

  

  一旦你认为你的业务需要基于区块链,你需要确定合适的平台或技术来使用。有几种基本方法可以解决。   

  

  A.创建一个新的区块链――你可以选择创建你自己的区块链框架,从算法到交易验证,从技术栈到令牌交易费,一切都由你决定。这是区块链发展最全面也是最昂贵的方式。你实际上在考虑创造另一个比特币。虽然听起来有利可图,但可能会让你损失不止几十万。通常只有在创建自己的加密货币时才选择此选项。   

  

  B.克隆流行的区块链平台――开发基于区块链的应用程序的另一个更有效的方法是使用流行的区块链平台进行开发。这些平台是开源的,因此您可以使用它们的存储库并将代码部署到您自己的服务器上。我们要问的主要问题是――为什么世界会接受你创造的区块链?请记住,区块链平台的成功取决于网络中能够验证交易的节点数量。   

  

  比较流行的平台有以太坊,Hyperledger Fabric,Hyperledger锯齿。每一个都有具体的特点,可以帮助你做出决定。   

  

  最流行的区块链平台是以太坊,可以省去你的代币开发)。关于以太坊的几点:   

  

  以太坊是基于公共区块链的开源分布式计算平台,具有智能合约功能。   

  

  以太坊使用的是一种叫做“Ethash”的工作验证算法,这种算法需要更多的内存,所以很难挖掘。   

  

  以太坊中的智能合约是用Solidity编写的,Solidity是一种可靠的编程语言,是Javascript的子集。   

  

  C.在现有的区块链平台上使用令牌――这与上一点略有不同。最后,我们克隆了整个区块链平台,并将其部署到我们自己的服务器上,假设我们有足够多的网络节点,这些节点将通过“挖掘”来验证交易。   

  

  但是我们也可以“创建令牌”并将它们部署到以太坊这样的运行中的区块链。这些平台提供了现成的API、算法和挖掘策略,可以在应用中轻松实现区块链(区块链即服务)。您不需要为您的交易创建单独的waller,因为以太坊令牌可以被各种现有的钱包接受。   

  

  这类似于在Shopify上创建自己的电子商务商店。Shopify平台上的所有电子商务功能都可以随时使用,用户只需填写所需数据,就可以在Shopify上创建自己的商店。同样,您可以用可靠的语言编写自己的令牌,并将其部署在以太坊上(或者针对不同的区块链平台使用不同的语言)。现有的平台会给你提供现成的服务,你可以用代币交易。请记住,令牌可以是令牌或智能合约。   

  

  3.原型开发   

  

  鉴于区块链的开发成本较高,建议在部署到实时服务器或现有区块链平台(如以太坊)之前,开发一个原型应用程序,以确保一切正常工作。   

  

  在原型开发期间,您还应该决定应用程序的哪些部分是“链上的”,哪些是“链下的”。简而言之,由于您正在创建一个使用区块链的web应用程序或移动应用程序,您可以在没有区块链的通用云主机上运行正常的功能。然后是应用程序的交易部分,你可以把它放在区块链平台上。   

  

  您还应该决定应用程序(或其一部分)是构建在许可的网络中还是未许可的网络中。   

  

  没有   

许可的网络:在这里,每个人都可以加入并开始验证。最著名的例子是比特币和以太坊网络

  

许可的网络。在这种情况下,网络所有者决定谁可以加入网络,只允许少数成员验证块。协商一致机制可以与无许可网络相同,也可以是完全独特的设计(例如基于权限的)。

  

尽量将链上api与链外api分开,因为它们将驻留在不同的位置。决定应用程序的一致算法和事务策略。如果您使用的是现有的区块链平台,那么这个阶段将更容易,因为许多东西已经在这些平台中有效地实现了。

  

4. 技术

  

. web3.js - Ethereum JavaScript API(文档)

  

. Dapp浏览器-Desktop Mist, Parity 、 Metamask 和mobile ones Toshi, Cipher 和Trust

  

. 智能合约的稳固性(文件编制)

  

. 开放Zepplin -智能合约开发(文档)

  

. 从事-无服务器分散式应用使用Ethereum, IPFS和其他平台https://embark.status.im/

  

. 最流行的Ethereum开发和测试框架http://truffleframework.com

  

. Metamask -在浏览器中运行Ethereum dApp而不需要运行完整的Ethereum节点(https://metamask.io/)

  

. Parity -最先进的Ethereum部署客户端(https://paritytech.io/)

  

. Etherscan - Ethereum上的块资源管理器,用于监视(https://etherscan.io/)

  

除此之外,常规框架还可以用于像react这样的应用程序/服务器开发。用于移动应用的js、nodejs和原生技术。

  

5. 发展

  

这是区块链应用程序开发的核心元素。为了简单起见,我们将经历2c点中描述的过程。如上所述,即在现有的区块链平台上使用代币。首先理解事务机制是很重要的。

  


  

  


  

Token本质上是一个长长的字母数字字符串,充当您智能合约的唯一标识符。区块链钱包上的每个用户都有唯一的公钥和私钥(类似于长密码)。这些键用于识别用户的信用卡/借记卡,或指向智能合约。这是非常类似的,但比添加一个新的受益人在您的银行帐户使用他们的银行帐号等更安全。

  

您可以为以太坊创建自己的智能合约或代币。您应该首先创建一个测试代币,并在将其部署到真实的区块链上之前验证您的功能。遵循这个官方指南来创建您的第一个以太坊代币,以及这篇博客文章来理解创建您自己代币的细微差别。一旦您创建了代币,您就将其“放在链上”,本质上类似于在服务器上部署代码。

  

交易开始时,一个用户发送一个发送代币的意图,该意图被网络确认为有效(如果您拥有代币且没有将其发送给任何人)。然后您的代币信息与您的私钥相结合,私钥将吐出一个数字代码,然后使用发送方的公钥由网络确认。这是可能的,因为可以用公钥验证与私钥签署的合约,但是无法发现公钥与私钥之间的相关性,因此一切都是安全的。

  

总之,整个过程类似于加密和解密。信息的分散化和块的历史包含在加密中,使其安全和篡改证明。

  

此外,您将为其构建API

  

-执行审计职能。

  

-储存和检索数据。

  

-生成密钥对并将其映射到特定地址。

  

-利用哈希值和数字签名进行数据认证。

  

-管理和触发智能合约以运行应用程序的业务功能。

  

这篇文章是构建区块链应用程序的第一步。让智能合约“更智能”、确保你的代币不可被黑客攻击,或者至少极其难以被黑客入侵,这些都涉及到巨大的复杂性。按照上面的步骤,您可以为您的应用程序制作基于区块链的最小可行产品。

相关文章