BSV开发专家

BSV区块链邀请了多位具有丰富区块链发开经验并精通BSV技术原理的专业人士入驻BSV开发者专区。

点击头像进入专家列表

  • 林哲明
  • 王一强
  • 何启明
  • 顾露
  • 刘爱华
  • 周全
  • 王宇
  • 李龙
  • 邱少贤
  • 周衍

最新博客

  • 从 sCrypt 智能合约中访问区块链数据(2)
    发表于2021-12-18

    在上一篇文章中,我们介绍了一种以最小信任访问块和其中的交易的方法。 本文中, 我们将其扩展为在包含多个区块。使用该技术,我们基于区块时间开发了一个简单的投注合约。我们还展示了另一种阻止伪造块的方法。 一个由 3 个区块组成的序列 多个区块组成的序列 如下所示,isBlockHeaderValid() 验证一个区块序列,而不是我们在上一篇文章中所做的单个区块。我们在第 8 行重用现有代码中的函数 isBlockHeaderValid() 来验证每个单独的块。此外,我们在第 12 行对区块头进行哈希处理,并确

  • sCrypt 调试器简介
    发表于2021-12-09

    在开发 sCrypt 智能合约时,推荐使用之前介绍过的 VSCode 插件 IDE,其中重要的一个原因是可以借助其中的调试器进行调试,它支持断点、步进、堆栈跟踪和变量检查,所有这些都非常有助于开发人员发现和修复错误。 如何使用调试器 只需在工作区的 .vscode 文件夹中创建一个 launch.json 文件,在调试视图中选择配置,然后按 F5 即可开始调试。 与其他 VSCode 调试器一样,launch.json 文件存储调试配置。下面是关于特定于 sCrypt 调试器的 launch.json 属

  • sCrypt IDE 新功能——调试链上合约
    发表于2021-12-08

    sCrypt IDE 1.5.0 版本新增了一个实用的调试器功能。你可以用它调试链上的合约,包括主网和测试网。 通过命令面板(Linux/Windows 上的 Ctrl+Shift+P 或 Mac OS 上的 Cmd+Shift+P)执行以下命令: sCrypt: Launch debugger from TxContext 执行后会在 VSCode 右侧打开如下视图: 接下来你只需要输入想要调试的交易 id 或者 rawTx ,然后点击 Launch Debugger 按钮,就可以启动调试器。 可以

  • 从 sCrypt 智能合约中访问区块链数据(无需预言机)
    发表于2021-12-03

    智能合约对外部世界一无所知,一般必须依靠预言机来导入外部数据。我们之前已经展示了两种基于 Rabin 签名和 ECDSA 从预言机导入数据的方法。在本文中,我们将展示如何在没有预言机的情况下访问特定类型的外部数据,即区块链上的数据(例如区块头和交易),同时仍然保持数据完整性。通过允许智能合约以最少信任原则访问链上数据,将为所有新的比特币智能合约提供无限的机会。 访问区块头 顾名思义,比特币区块链由很多个区块链接而成。一个区块有两部分数据:区块头和交易。 一个块和它的头 区块头包含区块的元数据,有六个字段,

  • 在 sCrypt 合约中使用 HashedMap 数据结构
    发表于2021-11-18

    在 sCrypt 合约中使用 HashedMap 数据结构 在日常程序开发中,Map 作为一种常见的数据结构被经常使用,其支持增删改查等操作,并且通常具有 O(1) 或 O(logN) 的查询效率。为了方便开发者使用,我们在 sCrypt 语言中也实现了一个具有类似功能的标准库 HashedMap。 在 sCrypt 合约中完整实现 Map 的问题 起初我们计划完整地实现一个类似其他主流语言中的 Map 类,但很快就发现了这样做有几个问题和难点: Map 的底层实现通常来说都比较复杂,比如常见的 Has

  • BSV 上的图灵机
    发表于2022-02-25

    我们通过实践证明任何图灵机都可以在比特币上进行模拟,从而证明它是图灵完备的¹。我们已经实现了一个识别平衡括号的图灵机,并将其部署在比特币区块链上。任何其他的图灵机都可以用同样的方式模拟。 图灵机简介 图灵机由以下组件(简化)组成: 当前状态,在一组有限的状态中(一个状态标记为初始状态,一些状态标记为结束状态) 带有存储单元和可以在磁带上移动的读/写头的磁带 一个所谓的转换函数,它告诉机器该做什么和什么时候做。 在下面的示例中,我们展示了用于检查平衡括号的图灵机。它的初始状态是 A 并且它包含

  • 使用 Merklized 抽象语法树压缩智能合约
    发表于2021-08-01

    Merklized 抽象语法树 MAST(又名 Merklized 替代脚本树)是一种使用 Merkle 树压缩比特币智能合约的技术。我们在比特币 SV 上实施了 MAST。与所有其他实现不同,我们利用原始比特币协议,没有任何共识更改。 问题 通常有不止一种方法可以解锁锁定在比特币智能合约中的硬币。在 sCrypt 中,每种方式都被建模为一个公有函数,代表一种条件的解锁分支。例如,在 TimedCommit 合约中,可以通过 Alice 的原像和她的签名,或者通过 Alice 和 Bob 的签名来解锁合约。

  • 在比特币上构建机器学习竞赛市场
    发表于2021-07-29

    我们提出了一种在比特币上实现去中心化机器学习 (ML) 市场的新方法。任何人都可以通过发布附带奖励的智能合约来外包机器学习任务。任何提交表现最佳模型的人都将通过区块链交易获得奖励,而无需通过中心化机构。 如何在比特币上进行机器学习竞赛 Kaggle 是一个流行的数据建模和数据分析分析竞赛平台,之前已被 Google 收购。Kaggle 竞赛中包括了很多由 Kaggle 、Facebook 、微软等其他公司制作的机器学习任务。如果竞争成功,参赛者可以获得金钱奖励,有时超过一百万美元。 与 Kaggle 比赛

  • 如何在 sCrypt 合约中实现浮点数运算
    发表于2021-07-13

    相信很多开发者朋友在使用 sCrypt 开发比特币智能合约时,会有这样一个问题:为什么没有浮点数的数据类型?比如 Float 或者 Double?这篇文章我们就来聊聊在合约中如何实现模拟浮点数的高精度计算。 常见的编程语言一般都会有原生的浮点数支持,大部分都会参考实现 IEEE754 标准,但包括比特币在内的很多区块链的智能合约都没有原生支持浮点数,这其中可能有两个重要原因:1. 如果使用基于 FPU 硬件的实现(hard float)可能会有不同架构的节点在验证单笔交易时产生不同结果,从而导致共识失败;2

  • Rabin 数字签名
    发表于2021-07-12

    https://aaron67.cc/2021/07/10/rabin-signatures/ 本文将详细介绍 Rabin 数字签名的算法细节。在开始之前,你需要对模运算、同余和模逆元的概念有一些了解。 算法过程 质数 ppp 和 qqq,且有 p≡3(mod4)p \equiv 3 \pmod{4}p≡3(mod4),q≡3(mod4)q \equiv 3 \pmod{4}q≡3(mod4)。 组合 (p,q)(p, q)(p,q) 为私钥,两数的乘积 n=pqn = pqn=pq 为对应的公钥。 使.

每页显示 共151条数据 < 1 2 3 4 5 6 7 8 9 10 ...16 >      到第 GO
联系我们: china@bsvblockchain.org
Copyright © 2022 Keyi Tech. All Rights Reserved.
可一科技 版权所有
关注