个人简介

Echo Blog


江湖无名 安心练剑
  • 如何实现短链服务 short url-02-短链的实现原理
    什么是短链接 顾名思义,短链接即是长度较短的网址。 通过短链接技术,我们可以将长度较长的链接压缩成较短的链接。 并通过跳转的方式,将用户请求由短链接重定向到长链接上去。 短链接主要用在诸如微博,BBS等对帖子字数有限制的网站,通过使用短链接,用户可以把注意力放在帖子的内容上,而不是在担心链接超长的问题。这 里以百度的 dwz.cn 短链接服务为例,我们使用百度搜索”hello wo...
    2022-06-02 01:22:02 | Tool
  • 如何实现短链服务 short url-01-long 值进行 Base64 编码原理详解
    long 值进行 Base64 编码原理详解 分析一下long值; 1、有符号long值,64bit,8字节,取值范围 -2^63——2^63-1,第一位符号位,负数为1,正数为0; 2、正数,符号位0,后63位为正数值; 3、负数,符号位1,整个64位取反、加1,加负号即为负数值; Base64 是做什么? 把任意二进制数据转换为可显示字符,总共64种可显示字符。 具体转换规...
    2022-06-02 01:22:02 | Tool
  • Solidity-18-Inline Assembly
    Inline Assembly 您可以使用接近以太坊虚拟机的语言将 Solidity 语句与内联汇编交错。这为您提供了更细粒度的控制,这在您通过编写库来增强语言时特别有用。 在 Solidity 中用于内联汇编的语言称为 Yul,它记录在其自己的部分中。本节将仅介绍内联汇编代码如何与周围的 Solidity 代码交互。 警告 内联汇编是一种在低级别访问以太坊虚拟机的方法。这绕过了几个...
    2022-05-22 01:22:02 | Lang
  • Solidity-17-Contracts
    Contracts Solidity 中的契约类似于面向对象语言中的类。 它们在状态变量中包含持久数据,以及可以修改这些变量的函数。 在不同的合约(实例)上调用函数将执行 EVM 函数调用,从而切换上下文,使得调用合约中的状态变量不可访问。 任何事情发生都需要调用合约及其函数。 以太坊中没有“cron”概念来自动调用特定事件的函数。 创建合同 合约可以通过以太坊交易“从外部”创...
    2022-05-22 01:22:02 | Lang
  • Solidity-16-Expressions and Control Structures
    控制结构 从花括号语言中知道的大多数控制结构都可以在 Solidity 中使用: 有:if、else、while、do、for、break、continue、return,具有 C 或 JavaScript 中已知的常用语义。 Solidity 还支持 try/catch 语句形式的异常处理,但仅适用于外部函数调用和合约创建调用。 可以使用 revert 语句创建错误。 条件句不能省...
    2022-05-22 01:22:02 | Lang
  • Solidity-15-Units and Globally Available Variables
    以太单位 Ether Units 文字数字可以采用 wei、gwei 或 ether 的后缀来指定 Ether 的子面额,其中不带后缀的 Ether 数字被假定为 Wei。 assert(1 wei == 1); assert(1 gwei == 1e9); assert(1 ether == 1e18); 小面额后缀的唯一效果是乘以十的幂。 笔记 0.7.0 版中删除了...
    2022-05-22 01:22:02 | Lang
  • Solidity-14-Conversions between Elementary Types
    隐式转换 Implicit Conversions 在某些情况下,编译器会在赋值期间、将参数传递给函数以及应用运算符时自动应用隐式类型转换。 一般来说,如果在语义上有意义并且没有信息丢失,则值类型之间的隐式转换是可能的。 例如,uint8 可转换为 uint16,int128 可转换为 int256,但 int8 不可转换为 uint256,因为 uint256 不能保存 -1 等值。...
    2022-05-22 01:22:02 | Lang
  • Solidity-13-types Operators
    Operators 即使两个操作数的类型不同,也可以应用算术和位运算符。 例如,您可以计算 y = x + z,其中 x 是 uint8,z 的类型为 int32。在这些情况下,将使用以下机制来确定计算运算的类型(这在溢出的情况下很重要)和运算符结果的类型: 如果右操作数的类型可以隐式转换为左操作数的类型,则使用左操作数的类型, 如果左操作数的类型可...
    2022-05-22 01:22:02 | Lang