Hi 游客

更多精彩,请登录!

  • ERC-20代币solidity投票合约代码

      主要功能   ERC-20代币是一种代币标准,由V神于2015年6月提出此标准,由Fabian Vogelsteller(erc20及erc725作者,也是LUKSO Token 创始人)于2015年11月提交EIP-20。该标准允许开发者在以太坊区块链网络上开发属于自己的代币,该标准定义了开发者可以按照标准要求使用一些简单的功能如: - 设定代币名称 - 设定代币总量 - 规定小数点位数 - 规范如何批准代币交易 - 如何访问数据 - 允许查看各地址中erc20代币数目以及代币总量 - 一定条件下,允许第三方账户使用某账户中的代币资产 - 允许代币和兼 ...阅读全文
    掘金稀土
    2022-10-30
    支持
    反对
    回复
    收藏
  • 一文看懂区块链开发——智能合约开发语言选择

      区块链技术入门,涉及那些编程语言?在本文中,将介绍比特币、超级账本Fabric和以太坊这三种区块链中,分别使用什么开发语言来进行智能合约编程,并提供你进一步学习的资源链接。 小调查:你对哪种区块链上的智能合约开发感兴趣?   比特币   Fabric   以太坊   比特币   比特币是第一个真正意义上的区块链,不过,从严格意义上来讲,它对智能合约的开发者是不友好的。   可以用一种低门槛的编程语言Bitcoin Script在比特币系统上编写智能合约。每个比特币地址都对应着一个Bitcoin Scrip ...阅读全文
    如来神掌
    2022-11-5
    支持
    反对
    回复
    收藏
  • solidity投票智能合约代码

    solidity投票智能合约代码,电子投票功能要解决的主要问题是如果分配投票权以及如何避免数据被篡改。本篇实现的合约思路是对于每次投票表决都创建一个合约,合约的创建者就是投票委员会的主席,可以给不同的账户投票的权利。拥有投票权的账户可以自己投票也可以委托给他所信任的人代理投票。阅读全文
    BlockQ
    2022-11-11
    支持
    反对
    回复
    收藏
  • 如何在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
    支持
    反对
    回复
    收藏
  • 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
    支持
    反对
    回复
    收藏
  • Solidity合约

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

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

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

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

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

    从合约中提款 在某个操作之后发送资金的推荐方式是使用取回(withdrawal)模式。尽管在某个操作之后,最直接地发送以太币方法是一个 send 调用, 但这并不推荐;因为这会引入一个潜在的安全风险。你可能需要参考 :ref:security_considerations 来获取更多信息。 这里是一个在合约中使用取回模式的示例,它目标是通过向合约发送最多的钱来成为“最富有的人”, 其灵感来自 King of the Ether _。 在下边的合约中,如果你的“最富有”位置被其他人取代,你可以收到取代你成为“最富有”的人发送到合约的资 ...阅读全文
    温室小书生室d
    2022-12-31
    支持
    反对
    回复
    收藏
  • 一文盘点6种EVM编程语言

    以太坊虚拟机 (EVM) 是一个 256 位、基于堆栈、全球可访问的图灵机。由于架构与其他虚拟机和物理机的明显不同,EVM 需要领域特定语言 DSL(注:领域特定语言指的是专注于某个应用程序领域的计算机语言)。 在本文中,我们将研究 EVM DSL 设计的最新技术,介绍六种语言 Solidity、Vyper、Fe、Huff、Yul 和 ETK。 语言版本 1、Solidity: 0.8.19 2、Vyper: 0.3.7 3、Fe: 0.21.0 4、Huff: 0.3.1 5、ETK: 0.2.1 6、Yul: 0.8.19 阅读本文,需要你对 EVM、堆栈和编程有基本的了解。 以太坊虚拟机概述 EVM 是一个 ...阅读全文
    恶灵零午罩
    2023-3-22
    支持
    反对
    回复
    收藏