Hi 游客

更多精彩,请登录!

BitMere 区块链技术 第 7 页
  • Move语言分析:如何避免闪电贷重入攻击?

    首发 新窗
    从底层语言特点,对比了 Move 和 Solidity(以太坊)的优势和特点。作为 Web3 的基础性研究,从闪电贷这一最具特色的应用角度出发,分析了以太坊和 Move 分别如何实现闪电贷,Move 怎样规避了闪电贷攻击? 以太坊合约之间的交互是通过互通消息实现的状态一致,且允许重入、动态调用,这一特点为实现闪电贷提供了基础。期间,合约之间的函数可以互相来回调用——调用过程中会发生控制权转移。如果 DeFi 项目平台合约有漏洞,套利者能够利用其合约的恶意代码调用相应函数进行资产盗取——利用合约之间的状 ... 阅读全文
    KingOfLion
    2022-12-30 16:38
    区块链技术
    支持
    反对
    回复
    收藏
  • 如何构建安全的中心化交易所平台?

    首发 新窗
    每当大型中心化交易所崩溃时,一个常被提及的问题是:我们是否可以利用加密技术来解决这个问题。交易所可以通过创建密码学证明的方式证明其链上持有的资金足以偿付用户,而不仅仅依靠政府牌照、审计员、调查公司治理以及交易所法人背调等「法币」方案。 更有野心的是,交易所可以建立一个未经储户同意无法提取储户资金的系统。我们可以尝试探索「不作恶」有职业素养的 CEX 与「无法作恶」却泄漏隐私的低效链上 DEX 之间的界限。这篇文章将深入探讨让 CEX 更加去信任的历史尝试,与其采用技术的局限性, ... 阅读全文
    楼琴观雪让
    2022-12-30 16:31
    区块链技术
    支持
    反对
    回复
    收藏
  • 深入剖析BIP39补充协议

    首发 新窗
    如果你接触过数字货币或者相关内容,你肯定接触或使用过助记词,那么我们这篇文章的目的就是要从技术角度搞明白这个助记词是如何产生的,以及助记词是如何变成私钥的。 在一般数字货币中是使用 256 位的随机整数作为私钥的,但是这个记忆起来比较困难,所以为了解决记忆和易用性的问题 BIP39 规范提出了一种通过助记词来推算种子的算法,来帮助我们的降低使用门槛。 助记词的几种形式现在已经规范化的助记词词典有简体中文、繁体中文、英文、日文、法语、意大利语、韩语、西班牙语上述语言的助记词都可以 ... 阅读全文
    geton2006
    2022-12-30 15:10
    区块链技术
    支持
    反对
    回复
    收藏
  • 调用Bytom Chrome插件钱包开发Dapp

    首发 新窗
    安装使用插件钱包 1. 打开Google浏览器的应用商店,搜索Bystore 下载链接:http://t.cn/E6cFFwb 2. 然后点击添加到Chrome,就可以添加到我们的: 3. 使用google插件钱包 如果你使用的是测试网,可以去测试网水龙头领取BTM。 测试网水龙头:http://test.blockmeta.com/faucet.php 搭建Dapp demo Dapp demo是一个基于比原的储蓄合约,该demo可以进行资产的锁仓储蓄,到期返还资产并给一定的利息。这个dapp很适合的场景就是股息分红,内部通过智能合约自动锁仓操作,到期资产自动解锁。所以我个人对这个dap ... 阅读全文
    mmmpy
    2022-12-30 12:32
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity使用编译器

    使用命令行编译器 … note:: 这一节并不适用于 :ref:solcjs solc 是 Solidity 源码库的构建目标之一,它是 Solidity 的命令行编译器。你可使用 solc --help 命令来查看它的所有选项的解释。该编译器可以生成各种输出,范围从简单的二进制文件、汇编文件到用于估计“gas”使用情况的抽象语法树(解析树)。如果你只想编译一个文件,你可以运行 solc --bin sourceFile.sol 来生成二进制文件。如果你想通过 solc 获得一些更高级的输出信息,可以通过 solc -o outputDirectory --bin --ast --asm sourceFil ... 阅读全文
    一夜雨十年灯潞
    2022-12-30 10:46
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity合约安全考量

    尽管在通常情况下编写一个按照预期运行的软件很简单, 但想要确保没有人能够以出乎意料的方式使用它就困难多了。 在 Solidity 中,这一点尤为重要,因为智能合约可以用来处理通证,甚至有可能是更有价值的东西。 除此之外,智能合约的每一次执行都是公开的,而且源代码也通常是容易获得的。 当然,你总是需要考虑有多大的风险: 你可以将智能合约与公开的(当然也对恶意用户开放)、甚至是开源的网络服务相比较。 如果你只是在某个网络服务上存储你的购物清单,则可能不必太在意, 但如果你使用那个网络 ... 阅读全文
    有个胖子他姓杨
    2022-12-30 09:42
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity杂项

    |storage| 中的状态变量储存结构 静态大小的变量(除 |mapping| 和动态数组之外的所有类型)都从位置 0 开始连续放置在 |storage| 中。如果可能的话,存储需求少于 32 字节的多个变量会被打包到一个 |storage_slot| 中,规则如下: |storage_slot| 的第一项会以低位对齐(即右对齐)的方式储存。基本类型仅使用存储它们所需的字节。如果 |storage_slot| 中的剩余空间不足以储存一个基本类型,那么它会被移入下一个 |storage_slot| 。结构(struct)和数组数据总是会占用一整个新插槽(但结构或数组中的 ... 阅读全文
    开门查水门e
    2022-12-30 07:37
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity汇编

    Solidity 定义了一种汇编语言,在没有 Solidity 的情况下也可以使用。这种汇编语言也可以嵌入到 Solidity 源代码中当作“内联汇编”使用。 我们从如何使用内联汇编开始,介绍它如何区别于独立汇编语言,然后详细讲述这种汇编语言。 内联汇编 为了实现更细粒度的控制,尤其是为了通过编写库来增强语言,可以利用接近虚拟机的语言将内联汇编与 Solidity 语句结合在一起使用。 由于 EVM 是基于栈的虚拟机,因此通常很难准确地定位栈内插槽(存储位置)的地址,并为操作码提供正确的栈内位置来获取参数。 Sol ... 阅读全文
    卫蒙更夜沙
    2022-12-30 06:14
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity合约

    Solidity 合约类似于面向对象语言中的类。合约中有用于数据持久化的状态变量,和可以修改状态变量的函数。 调用另一个合约实例的函数时,会执行一个 EVM 函数调用,这个操作会切换执行时的上下文,这样,前一个合约的状态变量就不能访问了。 创建合约 可以通过以太坊交易“从外部”或从 Solidity 合约内部创建合约。 一些集成开发环境,例如 Remix , 通过使用一些用户界面元素使创建过程更加流畅。 在以太坊上编程创建合约最好使用 JavaScript API web3.js 。 现在,我们已经有了一个叫做 web3.eth.Con ... 阅读全文
    温室小书生室d
    2022-12-30 00:21
    区块链技术
    支持
    反对
    回复
    收藏
  • Grin 中的交易详解

    Grin 是一种基于 MimbleWimble 协议建立的新型密码学货币。但是,Grin 的教程又是出了名的晦涩难懂。 本文旨在分享 Grin 交易的运行原理,帮助大家理解 Grin 交易是如何实际运行的。 Grin 交易的输出是一个 Pederson 承诺,采用如下形式: 1.png -一个 Grin 输出就是一个 Pedersen 承诺。- Perdersen 承诺是一种隐藏信息的好方法。如果你是第一次听到 Perdersen 承诺的概念,那么每当你看到这个词的时候,就想想 “屏蔽值(shielded value)” 的概念(译者注:就是别人都看不见这个值是什么)。 ... 阅读全文
    刘艳琴
    2022-12-29 17:12
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity表达式和控制结构

    输入参数和输出参数 与 Javascript 一样,函数可能需要参数作为输入; 而与 Javascript 和 C 不同的是,它们可能返回任意数量的参数作为输出。 输入参数 输入参数的声明方式与变量相同。但是有一个例外,未使用的参数可以省略参数名。 例如,如果我们希望合约接受有两个整数形参的函数的外部调用,我们会像下面这样写 :: pragma solidity ^0.4.16; contract Simple { function taker(uint _a, uint _b) public pure { // 用 _a 和 _b 实现相关功能. } } 输出参数 输出参数的声明方式在关 ... 阅读全文
    蓝天天使2017
    2022-12-29 14:23
    区块链技术
    支持
    反对
    回复
    收藏
  • 如何在Kotti测试网上使用Solidity创建ETC智能合约

    Kotti是最新开发出来的以太经典权威证明(PoA, Proof of Authority)测试网络,我们现在就来花一些时间来了解它吧。Kotti是Goerli项目的一部分,该项目主要在以太坊和以太经典上开发POA测试网,得到了ETC Cooperative的资助。 我们将在本文介绍如何向Kotti部署智能合约。 此外,在以太经典开发人员唐威(@sorpaas)的指导下,我试着使用最新版本的Solidity来明确EVM与以太经典兼容的部分。没错,这样一来,以太经典开发人员就不用受限于Solidity的0.4.20版本了。 本文将向大家展示如何开始使用Kotti并 ... 阅读全文
    金光2017
    2022-12-29 13:03
    区块链技术
    支持
    反对
    回复
    收藏
  • Plasma Cash 开发者指南:你需要知道的一切

    Loom Network 正在构建一个基础设施平台,以帮助以太坊扩展达到真实世界用例,这是第一个正式上线的以太坊扩展解决方案。 Loom 让开发者通过部署到高吞吐量的以太坊侧链来运行大型应用程序,同时保持以太网主网的安全优势。 在之前的一篇文章里,我们讨论了使用转移网关将资产从Loom转移到以太坊主网。在本文中,我们将谈谈另一种实现方法:Plasma Cash。 简单地说,Plasma Cash 让用户可以将他们的数字资产从以太坊主网安全地转移到侧链,而无需信任侧链。你转移到侧链的每个资产都会分配到一个唯一 ... 阅读全文
    一杯浓咖啡
    2022-12-29 09:08
    区块链技术
    支持
    反对
    回复
    收藏
  • 基于有向无环图DAG的数字账本系统的偏序

    有向无环图,简称DAG,是一种自然产生的数据结构,在数学和计算机科学中有许多应用,包括从任务调度、网络流和集成电路板设计等。 近年来,DAG被认为是一种数据结构,可代替区块链实现去中心化的数字账本系统。 DAG是不存在环路的有限的有向图。区块链实际上是一种特定的有向无环图,其中每个顶点只与另一个顶点相连,在形状上形成一条线性链;在这个意义上,DAG可以看作是区块链结构的概括。 当前状态 现有的基于DAG的数字账本的主要内容有:发出交易,参与节点必须批准之前发出的未经确认的交易。在提议 ... 阅读全文
    李悔之2015
    2022-12-29 08:14
    区块链技术
    支持
    反对
    回复
    收藏
  • 用虚拟机搭建NEO私有链

    用虚拟机搭建私有链 本文将介绍如何使用四台虚拟机来搭建私有链,以及如何从自己的私有链中提取 NEO 和 GAS。 配置虚拟机 NEO 私有链的部署至少需要 4 台服务器才能取得共识,每台服务器对应一个共识节点。为了演示,我们在 Azure 上创建了 4 台 Windows 虚拟机,大小为 Standard DS1 v2 (1 核心,3.5 GB 内存),你也可以在局域网中或虚拟机中部署私有链。 创建好后,要开通 10331-10334 端口,具体方法为在系统的 防火墙-> 高级设置-> 入站规则 中新建规则,然后添加端口 10331-10334。 [!Note] 如果 ... 阅读全文
    杨小公子君莫邪
    2022-12-28 17:17
    区块链技术
    支持
    反对
    回复
    收藏
  • 同步 Ethereum 全节点有感

    最近微博的某人额外关注起了Ethereum全节点,并Po了这么一张照片,一笑置之。虽说Ethereum全节点占用的磁盘空间确实比Bitcoin大了几倍,但也不至于为了节省几块硬盘,不去同步全节点。 本人在18年的6月份用Geth同步过全节点。当时想把区块链数据用异构的方式查询, 比如提供 Sql 、GraphQL访问,而不在通过rpc接口访问数据。 而首要工作是把全节点数据放入到数据仓库中,那就要先从同步全节点的任务开始。 类似 ocap.arcblock.io 服务器配置当时云主机选择的是阿里云香港,操作系统是Ubuntu,8G内存, ... 阅读全文
    945坏男人
    2022-12-28 15:11
    区块链技术
    支持
    反对
    回复
    收藏
  • 在 iOS 中实现区块链

    区块链(Blockchain)是比特币等流行的加密货币背后的技术。区块链的主要概念是去中心化,提供分布式账本。本文会为你展示如何在 iOS/macOS 中使用 Swift 语言创建最基本的区块链。 注意:本文不涉及节点(nodes/peers)、验证和奖励等。 我会用 macOS Playground 来演示,快且方便,还有一些实用的函数可以用来生成 SHA 哈希值。 实现区块类 第一步是实现区块(Block)类,用来表示区块链中的一个区块。实现如下: class Block { var index: Int = 0 var dateCreated: String var previousH ... 阅读全文
    一夜雨十年灯潞
    2022-12-28 14:03
    区块链技术
    支持
    反对
    回复
    收藏
  • 用JavaScript写区块链代码

    首发 新窗
    几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术。在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的。我将会称之为SavjeeCoin! 全文分为三个部分: part1:实现一个基本的区块链 part2:实现POW part3:交易与挖矿奖励 Part1:实现一个基本的区块链 区块链 区块链是由一个个任何人都可以访问的区块构成的公共数据库。这好像没什么特别的,不过它们有一个有趣的属性:它们是不可变的。一旦一个区块被添加到区块链 ... 阅读全文
    Kierra34656
    2022-12-28 13:14
    区块链技术
    支持
    反对
    回复
    收藏
  • Bytom储蓄分红合约解析

    储蓄分红合约简介 储蓄分红合约指的是项目方发起了一个锁仓计划(即储蓄合约和取现合约),用户可以在准备期自由选择锁仓金额参与该计划,等到锁仓到期之后还可以自动获取锁仓的利润。用户可以在准备期内(dueBlockHeight)参与储蓄,按照合约规定可以 1:1 获取同等数量的储蓄票据资产,同时用户锁仓的资产(deposit)将放到取现合约中,并且项目方是无法动用的,等到锁仓期限(expireBlockHeight)一到,用户便可以调用取现合约将自己储蓄的资产连本待息一同取出来。其示意图如下: 从上图中可以看出, ... 阅读全文
    人民干脆面
    2022-12-28 11:13
    区块链技术
    支持
    反对
    回复
    收藏
  • 精确定义 Smart Contract— Solidity的语意正规化

    Solidity 作为一个程序语言,写出来的Smart Contract 就跟所有程序一样,有时候会有 Bug。然而 Smart Contract 上的 Bug 很可能比一般程序中的 Bug 还要严重,因为一旦放到链上就再也无法被修改了,最知名的莫过于 DAO attack。于是有人将脑筋动到另一个依然还未被广泛应用的领域上——正规验证(Formal Verificatinon,也有人称为形式化验证) 本篇文章介绍的内容则是正规验证前必须的工作,即定义一个语言的语意(semantics)。在一个语言中,一个语句的语义指的是这段指令所代表的「意思」。看到这大 ... 阅读全文
    哈哈笑417
    2022-12-28 10:18
    区块链技术
    支持
    反对
    回复
    收藏
区块链技术
区块链技术 今日排名:17
  • 关注

    4

  • 主题

    445

  • 帖子

    454

池塘之星
最关注文章