《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的 Solana 是一个开源项目,它实现了一个新的、高性能的、无需许可的区块链。
什么是Solana?
比特币功能称为 nLocktime,它可用于使用块高度而不是时间戳来推迟交易。作为比特币客户端,如果您不依赖网络,您将使用块高度而不是时间戳。块高度被证明是密码学界所谓的可验证延迟函数的一个实例。这是一种加密安全的方式来表示时间已经过去。在 Solana 中,我们使用了一个更细粒度的可验证延迟函数,一个 SHA 256 哈希链,来检查账本并协调共识。有了它,我们实施了乐观并发控制,现在正在朝着每秒 710,000 笔交易的理论限制迈进。
Solana 钱包
加密钱包是一种存储密钥集合的设备或应用程序,可用于发送、接收和跟踪加密货币的所有权。钱包可以有多种形式。钱包可能是计算机文件系统中的目录或文件、一张纸或称为硬件钱包的专用设备。还有各种智能手机应用程序和计算机程序提供了一种用户友好的方式来创建和管理钱包。
一个密钥是安全地生成私钥和密码及其衍生的公共密钥。私钥及其对应的公钥统称为密钥对。钱包包含一个或多个密钥对的集合,并提供一些与它们交互的方法。
该公钥(通常简称为PUBKEY)被称为钱包的 接收地址或只是它的地址。钱包地址可以自由共享和显示。当另一方要向钱包发送一定数量的加密货币时,他们需要知道钱包的接收地址。根据区块链的实现,地址还可以用于查看有关钱包的某些信息,例如查看余额,但不能更改有关钱包的任何内容或提取任何代币。
该私钥,需要进行数字签名的任何交易发送cryptocurrencies到另一个地址或做出钱包任何更改。绝不能共享私钥。如果有人获得了钱包私钥的访问权限,他们可以提取其中包含的所有代币。如果钱包的私钥丢失,任何发送到该钱包地址的代币都将永久丢失。
用法
部署程序
要部署程序,您将需要程序共享对象的位置(程序二进制文件 .so)
solana 程序部署< PROGRAM_FILEPATH >
部署成功会返回部署程序的程序id,例如:
程序 ID:3KS2k14CmtnuVv2fvYcvdrNgC94Y11WETBpMUGgXyWZL
在 deploy 命令中指定要部署到特定程序 ID 的密钥对:
solana program deploy --program-id <KEYPAIR_FILEPATH> <PROGRAM_FILEPATH>
如果未在命令行中指定程序 ID,工具将首先查找与 匹配的密钥对文件
匹配的程序密钥对文件与程序的共享对象位于同一目录中,并命名为
./path-to-program/program.so
./path-to-program/program-keypair.json
新功能
随着 Solana 的发展,可能会引入新的功能或补丁来改变集群的行为和程序的运行方式。行为的变化必须在集群的各个节点之间协调,如果节点不协调,那么这些变化可能会导致共识破裂。Solana 支持一种称为运行时特性的机制,以促进更改的顺利采用。
运行时功能是纪元协调事件,其中将发生集群的一个或多个行为更改。Solana 将改变行为的新更改包含在功能门中并默认禁用。然后使用 Solana 工具激活一个功能,该功能将其标记为待处理,一旦标记为待处理,该功能将在下一个时期被激活。
—END—
更多内容:https://github.com/solana-labs/solana
原文始发于微信公众号(开源技术专栏):一个开源的Web区块链市场
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/53893.html