Hi 游客

更多精彩,请登录!

BitMere 区块链技术 第 7 页
  • Solidity风格指南

    本指南旨在约定 solidity 代码的编码规范。本指南是不断变化演进的,旧的、过时的编码规范会被淘汰, 而新的、有用的规范会被添加进来。 许多项目会实施他们自己的编码风格指南。如遇冲突,应优先使用具体项目的风格指南。 本风格指南中的结构和许多建议是取自 python 的 pep8 style guide _ 。 本指南并 不是 以指导正确或最佳的 solidity 编码方式为目的。本指南的目的是保持代码的 一致性 。 来自 python 的参考文档 pep8 _ 。 很好地阐述了这个概念。 风格指南是关于一致性的。重要的是与此风格指南 ... 阅读全文
    一夜雨十年灯潞
    2022-12-31 17:26
    区块链技术
    支持
    反对
    回复
    收藏
  • Yul 语言说明

    Yul (先前被也被称为 JULIA 或 IULIA)是一种可以编译到各种不同后端的中间语言( |evm| 1.0,|evm| 1.5,而 eWASM 也在计划中)。 正因为如此,它被设计成为这三种平台的可用的共同标准。 它已经可以用于 Solidity 内部的“内联汇编”,并且未来版本的 Solidity 编译器甚至会将 Yul 用作中间语言。 为 Yul 构建高级的优化器阶段也将会很容易。 … note:: 请注意,用于“内联汇编”的书写风格是不带类型的(所有的都是 ``u256``),内置函数与 |evm| 操作码相同。 有关详细信息,请参阅内联汇编文档。 Y ... 阅读全文
    一夜雨十年灯潞
    2022-12-31 13:25
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity应用二进制接口(ABI)说明

    基本设计 在 |ethereum| 生态系统中, |ABI| 是从区块链外部与合约进行交互以及合约与合约间进行交互的一种标准方式。 数据会根据其类型按照这份手册中说明的方法进行编码。这种编码并不是可以自描述的,而是需要一种特定的概要(schema)来进行解码。 我们假定合约函数的接口都是强类型的,且在编译时是可知的和静态的;不提供自我检查机制。我们假定在编译时,所有合约要调用的其他合约接口定义都是可用的。 这份手册并不针对那些动态合约接口或者仅在运行时才可获知的合约接口。如果这种场景变得很重 ... 阅读全文
    一辛爱柏轿
    2022-12-31 11:35
    区块链技术
    支持
    反对
    回复
    收藏
  • 区块链必修课:底层通信技术技术篇

    底层通信技术 区块链底层通信一般采用 P2P 通信。P2P 技术使得网络上的沟通变得很容易、很直接,并且把对中间服务器的依赖减少到最小。P2P 技术改变了“内容”所在的位置,使其从 “中心”走向“边缘”。也就是说它改变了互联网现在以集中式的网站为中心的状态,资源不保存在服务器上,而保存在所有用户的 PC 机上。P2P 技术使得其不再是被动的客户端,而成为具有服务器和客户端双重特征的设备。 P2P不是一项全新的技术,而是一个新的概念和应用。TCP/IP是现代互联网整体架构的基础,但在 TCP/IP 中并没 ... 阅读全文
    青丝暮雪780
    2022-12-31 09:00
    区块链技术
    支持
    反对
    回复
    收藏
  • Solidity合约元数据

    Solidity编译器自动生成JSON文件,即合约的元数据,其中包含了当前合约的相关信息。 它可以用于查询编译器版本,所使用的源代码,|ABI| 和 |natspec| 文档,以便更安全地与合约进行交互并验证其源代码。 编译器会将元数据文件的 Swarm 哈希值附加到每个合约的字节码末尾(详情请参阅下文), 以便你可以以认证的方式获取该文件,而不必求助于中心化的数据提供者。 当然,你必须将元数据文件发布到 Swarm (或其他服务),以便其他人可以访问它。 该文件可以通过使用 solc --metadata 来生成,并被命名为 ... 阅读全文
    飞儿506
    2022-12-31 04:38
    区块链技术
    支持
    反对
    回复
    收藏
  • 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
    区块链技术
    支持
    反对
    回复
    收藏
区块链技术
区块链技术 今日排名:17
  • 关注

    4

  • 主题

    450

  • 帖子

    459

池塘之星