草庐IT

Solidity之Mappings篇

全部标签

es创建索引库bug。Failed to parse mapping [_doc]: analyzer [ik_smart] has not been configured in mappings

前提:        出现这个bug是因为在Linux端使用docker-compose部署好es后没有在plugins目录下配置好ik分词器,导致在es管理开发工具端,使用带有ik_smart分词的配置进行索引库创建映射导致的bug!      解决方案:        在Linux端的es部署目录下创建plugins配件目录下载对应版本(与es版本一致)的ik分词器,然后重启es就可以了

以太坊智能合约开发:Solidity 语言中的数据类型

本文我们介绍Solidity语言的数据类型,重点是值类型,包括布尔类型、整型、地址类型、字节类型、字符串类型和枚举类型。并且通过两个智能合约例子,用于演示这些数据类型的声明与使用方法。访问Github仓库获取更多资料。基本概念Solidity中关于数据类型的定义如下:Solidity是一种静态类型语言,这意味着每个变量都需要在编译时指定变量的类型;Solidity中新声明的变量总是有一个默认值,具体的默认值跟类型有关,例如bool类型的默认值为false。数据类型值类型Solidity提供的基本数据类型。这些类型的变量总是通过值传递的,变量在函数参数或赋值语句中使用时都会被复制。有以下几类值类

Solidity 的 ABI 和 bytecode 是什么

当你作为Solidity开发者开始写Ethereum智能合约的时候,你会很快接触到一些概念像是EVM(EthereumVirtualMachine),bytecode和ABI(applicationbinaryinterface),如果你是一个Javascript开发者(就像我第一次学习代码的时候一样),这些专有名字可能对你来说并不陌生,你可能想知道在Solidity和Ethereum世界中,这些名字和你理解的意思一不一样。这篇文章会从技术的角度去了解这三个概念,看完这篇文章以后,你会知道什么是EVM,Bytecode和ABI,而且会了解怎么样在项目中快速生成和使用bytecode和ABI。V

Solidity极简入门#25. Create2创建合约

CREATE2CREATE2操作码使我们在智能合约部署在以太坊网络之前就能预测合约的地址。Uniswap创建Pair合约用的就是CREATE2而不是CREATE。这一讲,我将介绍CREATE2的用法CREATE如何计算地址智能合约可以由其他合约和普通账户利用CREATE操作码创建。在这两种情况下,新合约的地址都以相同的方式计算:创建者的地址(通常为部署的钱包地址或者合约地址)和nonce(该地址发送交易的总数,对于合约账户是创建的合约总数,每创建一个合约nonce+1))的哈希。新地址=hash(创建者地址,nonce)创建者地址不会变,但nonce可能会随时间而改变,因此用CREATE创建的

026.Solidity入门——13枚举

Solidity中的枚举类型是一种预定义好的数据类型,用于表示一个固定的值范围。例如,可以定义一个枚举类型来表示颜色,并将其用于存储对象的颜色属性。语法如下://使用enum关键字定义枚举类型enumColor1{Red}//可以在枚举类型中定义任意数量的常量,并为每个常量指定一个名称enumColor2{Red,Green}ColormyColor2=Color2.Red;//如果需要每个常量具有不同的值,则可以将数值显式指定给枚举常量enumColor3{Red=1,Green=2,Blue=3}ColormyColor3=Color3.Green;可以通过在合约中使用枚举来限制变量的可能

Solidity 合约漏洞,价值 38BNB 漏洞分析

Solidity合约漏洞,价值38BNB漏洞分析1.漏洞简介https://twitter.com/NumenAlert/status/1626447469361102850https://twitter.com/bbbb/status/16263926052643512352.相关地址或交易攻击交易:https://bscscan.com/tx/0x146586f05a4513136deab3557ad15df8f77ffbcdbd0dd0724bc66dbeab98a962攻击账号:0x187473cf30e2186f8fb0feda1fd21bad9aa177ca攻击合约:0xd1b54

solidity 学习笔记

Solidity开发环境Solidity编辑器:Solidity编辑器是一种专门用于编写和编辑Solidity代码的编辑器。常用的Solidity编辑器包括VisualStudioCode、Atom和SublimeText。以太坊开发环境:以太坊开发环境(EthereumDevelopmentEnvironment)是一种专门用于以太坊开发的工具,可以用于部署、测试和调试智能合约。常用的以太坊开发环境包括Truffle、Embark和Buidler(Hardhat)。以太坊虚拟机:以太坊虚拟机(EthereumVirtualMachine,EVM)是以太坊区块链的运行环境,用于在以太坊区块链上

solidity -- 合约

合约Solidity中的合约类似于面向对象语言中的类。它们包含状态变量中的持久数据,以及可以修改这些变量的函数。在不同的合约(实例)上调用函数将执行EVM函数调用,从而切换上下文,使得调用合约中的状态变量不可访问。需要调用合约及其功能才能发生任何事情。以太坊中没有“cron”概念可以在特定事件时自动调用函数。创建合约可以通过以太坊交易“从外部”或从Solidity合约内部创建合约。一些集成开发环境,例如 Remix,通过使用一些UI用户界面使创建合约的过程更加顺畅。在以太坊上通过编程创建合约最好使用JavaScriptAPI web3.js。现在,我们已经有了一个叫做 web3.eth.Con

Solidity入门:我的第一段智能合约

以太坊是一个全球性的、去中心化的金融和新型应用程序平台。在以太坊,我们可以通过智能合约代码来控制资产,并建立世界上任何地方皆可访问的应用程序。今天我们自己动手来写一段简单的智能合约代码,探索一下智能合约的奥秘。【智能合约】智能合约(英语:Smartcontract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。【EVM虚拟机】以太坊虚拟机,是智能合约代码的执行器。当智能合约被编译成二进制文件后,被部署到区块链上。用户通过调用智能合约的接口

【Solidity】智能合约案例——③版权保护合约

目录一、合约源码分析:二、合约整体流程:    1.部署合约:    2.添加实体:     3.查询实体    4.审核版权:    5.版权转让一、合约源码分析:        Copyright.sol:主合约,定义了版权局的实体,功能为:审核版权    Opus.sol:定义两个实体:作者和作品,功能为:作者账号注册、作者信息查询、申请作品版权、查询作品信息、转让版权二、合约整体流程:    1.部署合约:        部署此合约需要首先设置一个监管者,在本合约中,身份为版权局                        合约全方法:                     2.添