区块链
文章平均质量分 79
BBinChina
果然白痴
展开
-
区块链开发之Solidity编程基础(六)运算符
运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等,其实运算符是相对标准的,用法也基本跟其他语言无二义原创 2022-06-12 22:51:14 · 4443 阅读 · 0 评论 -
区块链开发之Solidity编程基础(五)合约继承、抽象合约、接口
继承原理单继承多重继承同名修饰器或函数、事件菱形继承问题多重继承的函数调用抽象合约接口本文主要讲解下Solidity的继承系统,主要内容为单继承以及多重继承。如果有其他编程经验的话,便知道继承的主要目的在于优化重复代码,是面向对象编程思想的体现。原理solidity通过复制包括多态的代码来支持多重继承,即当一个合约从多个合约继承时,在区块链上只有一个合约被创建,所有基类合约的代码被复制到创建的合约中。所有的函数调用都是虚拟的,这意味着最远的派生函数会被调用,除非明确给出合约名称。派生的合约需要提供所原创 2022-03-20 20:17:49 · 3523 阅读 · 0 评论 -
区块链开发之Solidity编程基础(四)合约事件
事件事件智能合约返回值给用户接口异步的带数据的触发器一种比较便宜的存储事件里的Indexed参数事件事件是以太坊虚拟机(EVM)日志基础设施提供的一个便利接口。用于获取当前发生的事件。事件和日志有三个用途:智能合约返回值给用户接口异步的带数据的触发器一种比较便宜的存储智能合约返回值给用户接口我们可以在 dapp 的用户界面中监听事件,EVM 的日志机制可以反过来“调用”用来监听事件的 Javascript 回调函数。contract ExampleContract { //一些状态变原创 2022-03-17 20:51:59 · 9389 阅读 · 0 评论 -
区块链开发之Solidity编程基础(三)合约数据存储
Solidity编程基础三概要以太坊虚拟机 EVM数据位置storage/存储memory/内存calldata/调用数据Stack 栈数据赋值成本概要本章将进行太坊虚拟机EVM的介绍、Solidity的三种数据存储位置的 区别以及不同情况下跨区域数据赋值的gas成本分析与利用等内容。在前文讲变量、函数时,我们讲过EVM提供了四种数据结构来存储数据:Storage、Calldata、Stack、Memory。以太坊虚拟机 EVMEVM是以太坊用于提供Solidity合约运行的轻量级操作系统,其运行原创 2022-03-06 22:19:35 · 9207 阅读 · 0 评论 -
区块链开发之Solidity编程基础(二)合约语句及函数修饰符
@[TOC](Solidity编程基础二)概要本文延续专栏的编程基础一进行学习,本文主要内容讲解Solidity的语句以及修饰符等内容原创 2022-02-20 16:26:41 · 8900 阅读 · 0 评论 -
区块链开发之Solidity编程基础(一)
Solidy是当前编写智能合约的主流语言概要sol文件结构编译开发引入其他文件注释代码注释文档注释合约状态变量类型值类型概要由ETH为代表的第二代区块链技术,相比于第一代区块链技术而言,最大的特点就是智能合约的出现,让去中心化应用成为了可能。ETH节点为智能合约提供运行环境:EVM(Ethereum Virtual Machine)以太坊虚拟机。EVM是一个动态运行沙盒,可以将以太坊上所有的智能合约和周围环境全部隔离。因此,EVM上运行的智能合约无法访问网络、文件系统或者在EVM上运行的其他进程。So原创 2022-01-09 22:35:52 · 9835 阅读 · 0 评论 -
区块链开发之智能合约设计模式
编程范式中提到的设计模式:Creational Patterns(创建型模式),如Singleton, Factory,AbstractFactory模式等;Behavioral Patterns(行为模式),如Observer,Vistor,Mediator模式等;Structural Pattern(结构型模式),如Bridge,Composite,Facade模式等;随着Solidity大量的去中心化应用的普及,也形成了一些设计模式:1、合约自毁(Contract Self Destruct原创 2021-11-18 00:27:42 · 7198 阅读 · 0 评论 -
区块链开发之Solidity智能合约开发
在编写智能合约之前,需要有Solidity的开发环境,我将使用Remix来进行Solidity的学习,大家可以访问Remix在线Solidity集成开发环境其界面主要分三部分,左半本分是合约目录,可进行合约编译、发布右上部分是合约的编写框右下部分是合约的运行情况编写合约这个示例演示多个合约的调用,已经编译发布跟执行1、首先编写被调用合约 Calleepragma solidity ^0.4.24;contract Callee{ uint[]public values;原创 2021-11-13 16:41:08 · 6845 阅读 · 0 评论