自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Truffle 开发入门

Truffle 是一个以太坊智能合约集成开发框架。Truffle 使用以太坊虚拟机(EVM)为区块链提供了世界级的开发环境、测试框架和资产管道,旨在让开发人员的工作更轻松。本文我们从一个 Truffle 官方示例入手,带你快速了解利用 Truffle 开发区块链项目的基础知识,包括 Truffle 项目的创建,智能合约的编译与部署,以及 Truffle 与智能合约进行交互实现区块链上的交易。

2023-01-06 08:32:26 1552 1

原创 以太坊智能合约开发:Solidity语言中的映射

本文我们介绍Solidity语言中的映射,包括映射的基本定义、语法、映射的变量声明和基本读写操作。并且通过两个智能合约例子演示了映射的定义与基本操作。

2022-12-19 11:01:40 1723

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

本文我们介绍Solidity语言的数据类型,重点是值类型,包括布尔类型、整型、地址类型、字节类型、字符串类型和枚举类型。并且通过两个智能合约例子,用于演示这些数据类型的声明与使用方法。

2022-12-04 21:35:38 1151

原创 OneDoc 开源文档管理系统搭建指南

OneDoc 是一款开源的轻量级的企业(项目)文档协同管理系统。OneDoc 可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。适用于项目技术资料管理、- 企业文档资料管理、 互联网博客和在线教程网站等。

2022-10-20 13:36:04 5616

原创 以太坊智能合约开发:Solidity语言中变量的存储位置与作用域

在Solidity中,有一些数据类型是引用类型,如:数组(string和bytes是特殊的数组,也是引用类型)、结构体(struct)、映射(mapping)。在Solidity中使用引用类型的时候,必须指定数据的位置。在合约中声明的变量都有一个存储位置,用于指明变量的值存储在哪里。Solidity提供了三种类型的存储位置:storage、memory、calldata...

2022-08-04 11:56:39 2538

原创 以太坊智能合约ABI详解

在以太坊生态系统中, ABI 是从区块链外部与合约进行交互以及合约与合约间进行交互的一种标准方式。本文让我们了解一下智能合约的 ABI 是什么。

2022-07-20 11:31:30 6414 1

原创 以太坊智能合约开发:Solidity语言中的哈希(hash)函数

在Solidity语言中,用于加密的哈希函数是一种算法,它将任意大小的数据作为输入,并生成固定大小(32个字节)的加密文本。即使输入的微小变化也会产生完全不同的输出。Solidity提供以下几种加密函数:keccak256、sha256、ripemd160、ecrecover。以太坊使用keccak进行哈希计算,这与SHA_256类似但不相同。...

2022-07-10 12:12:57 3943

原创 智能合约Solidity语言错误处理函数(require、revert、assert)使用详解

本文介绍了以太坊智能合约Solidity语言中的错误处理及异常,包括有哪些错误处理函数(require、revert、assert)、这些函数之间的共同点和差异化比较。并且通过两个合约例子演示了错误处理函数的用法。...

2022-06-29 19:09:25 3886

原创 以太坊Solidity语言的Receive函数和Fallback回退函数详解

Solidity语言中关于回退函数的定义:Receive是一个接收以太币函数,一个合约中最多可以有一个 函数。在对合约转账时会执行 函数,例如通过 、 或 。如果 函数不存在,那么 回退函数会被调用。 函数的声明语法如下:Receive函数没有 关键字,没有参数也没有返回值,且必须是 可见性(允许外部合约调用)并具有 可支付属性。回退函数的声明语法如下:其中:Fallback函数与Receive函数的区别是:Receive函数只在合约转账时调用,而Fallback函数除了可以在合约转账时调

2022-06-26 16:33:38 5881

原创 以太坊Solidity智能合约安全之短地址或参数攻击漏洞的原理及预防

这个漏洞发生在第三方合约或应用程序调用智能合约时。当将参数传递给智能合约时,参数将根据 ABI 规范进行编码。第三方合约可以发送比预期参数长度短的编码参数。在这种情况下,EVM 将在编码参数的末尾填充 0,以弥补预期的长度。这样,当智能合约不验证输入时,这就会成为一个问题。最明显的例子是,当用户请求提款时,交易所不验证 ERC20 令牌的地址。本文介绍了以太坊Solidity智能合约的短地址/参数攻击漏洞原理、攻击方法和预防措施。

2022-05-19 17:11:47 1645 1

原创 智能合约安全之Solidity函数默认可见性漏洞

在 Solidity 中,函数有可见性类型,指示函数被允许如何被调用。可见性决定了函数是否可以由用户、其他派生合约、仅在内部或外部调用。函数默认为公共的,即允许用户或合约从外部调用它们。不正确地使用函数可见性可能会导致智能合约中的一些破坏性漏洞。本文通过 Solidity 函数默认可见性漏洞原理的阐述,并结合智能合约实例代码的演示,介绍了一种函数默认可见性漏洞的原理及其解决方法。

2022-05-09 20:23:13 1651

原创 以太坊智能合约安全漏洞之整数溢出漏洞的原理与解决方法

以太坊虚拟机 (EVM) 为整数指定固定大小的数据类型。这意味着一个整数变量,只能表示一定范围的数字。例如uint8 只能存储 [0,255] 范围内的数字。尝试将 256 存储到 uint8 将导致 0。如果不小心,用户输入未被检查,并且执行的计算结果超出了存储它们的数据类型的范围,那么 Solidity 中的变量可能会被利用。本文通过整数溢出漏洞原理的阐述,并结合 Solidity 智能合约实例代码的演示,介绍了一种智能合约整数溢出漏洞及其解决方法。

2022-04-30 18:14:53 3932

原创 以太坊智能合约开发:Solidity 语言快速入门

在本文中,我们从一个简单的智能合约样例出发,通过对智能合约源文件结构的剖析与介绍,使大家对Solidity语言有一个初步的认识。最后,我们将该智能合约样例在 Remix 合约编译器中编译、部署,观察其执行结果。

2022-11-21 17:03:10 2785

原创 用 Web3 以太坊接口连接与操作 MetaMask 开发指南

本文用一个例子,演示了如何使用 window.ethereum 对象连接并操作 MetaMask 钱包的方法。MetaMask 是一个浏览器插件钱包,支持火狐浏览器和谷歌浏览器。插件安装完成后,window 对象中会出现一个 window.ethereum 的对象。

2022-10-31 10:45:41 4775 2

原创 以太坊智能合约开发:Solidity语言中的构造函数

本文介绍了Solidity语言中的构造函数,包括构造函数的语法、继承构造函数的两种初始化方法。并且通过合约例子演示了构造函数的用法。

2022-10-24 12:20:36 2649

原创 Hexo博客搭建之Next主题添加搜索服务

随着时间的推移,我们博客站点上的文章会越来越多,因此在站点中增加一个文本搜索服务是非常有必要的。本文介绍一种添加站内搜索服务的方法,站点配置基于 Hexo5.4.2 博客和 Next 主题。NexT 提供 Algolia 搜索插件,搜索你的 Hexo 网站内容。请注意仅在 NexT 配置文件中打开 algolia_search 的 enable 不允许您正确使用 Algolia 搜索。你需要安装相应的 Hexo 插件来索引你的网站。注册 Algolia 账号,并创建 Index本地搜索不需要任何外部第三方服

2022-06-14 15:08:19 756

原创 Hexo博客搭建之PicGo+Github免费图床使用指南

Hexo 博客站点搭建完成之后,需要考虑如何在文章中添加图片或视频。创建图床的目的是为本地图片等资源生成一个超链,然后将此连接嵌入到 编写的博客文章中,以此来解决博客中图片等资源的显示问题。本文介绍一种 PicGo + Github 搭建的免费图床。PicGo 是一款图片上传的工具,目前支持 SM.SM图床、微博图床,七牛图床,腾讯云COS,阿里云OSS,又拍云,Github 等图床,未来将支持更多图床。点击 这里 下载 PicGo 工具。根据操作系统选择对应的版本,安装到指定目录。在新建仓库页面,填入仓

2022-06-08 12:09:48 1580

原创 Hexo博客搭建之Next主题的安装与设置

Hexo 是一款快速、简洁且高效的博客框架,拥有超快生成速度,支持 Markdown,一键部署和高度可扩展性。Next 是一个高品质优雅的 Hexo 主题。本文介绍 Next 主题的安装和基本的配置。

2022-05-31 21:17:36 1641 1

原创 Hexo博客搭建之文章的创建与配置

本文介绍如何在 Hexo 博客中添加一篇文章,以及文章的配置。创建文章执行下面的命令创建一篇文章:$ hexo new [layout] <title>您可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。例如,以下命令用于创建一篇文件名为 “lesson-1” 的文章:$ hexo new lesson-1以上命令将在站点根目录的 source\_posts 目录下创建一个

2022-05-27 14:31:06 1271

原创 Hexo搭建个人博客网站基础

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。本文介绍用 Hexo 快速搭建个人博客网站。

2022-05-24 09:28:38 628

原创 Tensorflow官方教程代码在VSCode开发环境下不能调出Python图形界面的解决途径

最近,在用 VSCode 开发环境调试 Tensorflow 官方教程中的代码时,发现不能显示图片,且 Matplotlib 不能调出 Python 图像界面,也就是说用于图像和界面显示的代码都不能正常执行。用 Jupyter Notebook 完美解决。

2022-05-20 14:45:00 1655

原创 区块链DAPP安全标准的一些建议

本文的目的是强调安全问题,并为 DApp 开发人员提供必要的信息,以安全地启动他们的项目或减轻可能发生的任何问题。没有什么是绝对安全的。没有单一的通用方法足以确保软件安全。系统必须依赖多种安全增强方法。安全性增强实践应用越多越好。

2022-05-12 16:07:57 1194

翻译 Solidity语言详解——view和pure函数的使用区别

Solidity 语言有两类和状态读写有关的函数类型,一类是 view 函数(也称为视图函数),另一类是 pure 函数(也称为纯函数)。他们的区别是 view 函数不修改状态,pure 函数即不修改状态也不读取状态。

2022-04-26 15:03:31 4414

翻译 Solidity语言详解——函数和状态变量的可见性及Getter函数

本文内容包括 Solidity 语言的状态变量可见性、函数可见性和 Getter 函数。由于 Solidity 有两种函数调用(内部调用不会产生实际的 EVM 调用或称为“消息调用”,而外部调用则会产生一个 EVM 调用), 函数和状态变量有四种可见性类型。 函数可以指定为 `external` ,`public` ,`internal` 或者 `private`。 对于状态变量,不能设置为 `external` ,默认是 `internal` 。

2022-04-21 14:31:34 1602

原创 Mythril 以太坊智能合约安全分析与检测工具详解(一)

Mythril是以太坊EVM字节码的安全分析工具,它使用符号执行、SMT方案来分析检测智能合约代码中的各种安全漏洞。本篇介绍了 Mythril 智能合约安全分析工具及其安装指南,并通过一个合约实例演示了该工具对 Solidity 合约源代码的检测命令及检测分析结果。

2022-04-18 20:54:19 4751 7

原创 智能合约安全漏洞之区块链的时间戳依赖漏洞与解决方法

时间戳依赖是指智能合约的执行依赖于当前区块的时间戳,如果时间戳不同,那么合约的执行结果也有差别。因此,如果在智能合约中不正确地使用区块时间戳,这将是非常危险的。本文通过对时间戳依赖漏洞原理的阐述,并结合 Solidity 智能合约实例代码的演示,介绍了一种区块链时间戳依赖漏洞及其解决方法。

2022-04-15 14:03:05 4869

翻译 以太坊智能合约基础——Solidity语言的计量单位和全局变量

本文重点介绍 Solidity 语言的计量单位和全局变量,包括以太币单位、时间单位、特殊变量和函数三个类别。其中大部分变量或函数会经常用于以太坊智能合约代码中。

2022-04-12 10:26:38 1288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除