草庐IT

$以太网

全部标签

以太坊EVM源码分析学习记录

EVM待办清单结构与流程2020年版本的evm结构大致流程opcodes.gocontract.goanalysis.gostack.gostack_table.goMemory.goMemory_table.goEVM.go区块上下文交易上下文EVM结构以太坊中的调用call、callcode和delegatecall创建合约interpreter.gojump_table.goinstructions.gogas.gogas_table.gologger.gocontracts.gocommon.goeips.gointerface.go待办清单analysis.gocommon.goco

【以太网通信】RGMII 接口及其时序规范

RGMII接口是常见的以太网通信接口,主要用于MAC和PHY之间的通信,支持10/100/1000Mbps三种通信速率。本文主要介绍RGMII接口定义及其在1000Mbps速率下的时序规范。目录1接口定义2时序规范2.1OriginalRGMII2.2RGMII-ID1接口定义        RGMII由GMII(GigabitMediaIndependentInterface)简化演变而来,意为 ReducedGMII,是常见的以太网MAC和PHY之间的通信接口,优点是比GMII减少了近一半的管脚,节约设计成本。    RGMII支持10/100/1000Mbps三种通信速率,接口定义如下:

【以太网通信】RGMII 接口及其时序规范

RGMII接口是常见的以太网通信接口,主要用于MAC和PHY之间的通信,支持10/100/1000Mbps三种通信速率。本文主要介绍RGMII接口定义及其在1000Mbps速率下的时序规范。目录1接口定义2时序规范2.1OriginalRGMII2.2RGMII-ID1接口定义        RGMII由GMII(GigabitMediaIndependentInterface)简化演变而来,意为 ReducedGMII,是常见的以太网MAC和PHY之间的通信接口,优点是比GMII减少了近一半的管脚,节约设计成本。    RGMII支持10/100/1000Mbps三种通信速率,接口定义如下:

玩以太坊链上项目的必备技能(Constant 和 Immutable 状态变量-Solidity之旅十六)

constant(常量)说到常量这一概念,拥有现代编程经历的您,对这一词再熟悉不过了。常量,常量,顾名思义便是变量值始终不变,这在很多面向对象程序语言中都有。相对Solidity来说,它也是支持常量的。假若将状态变量(StateVriable)声明为constant(常量),而它的值是在编译时有确定的表达式来给它赋值。我们知道常量值是在编译时确定的,所以区块数据(例如block.timestamp,address(this).balance或者block.number)或执行数据(msg.value或gasleft())或对外部合约的调用来给它们赋值都是不允许的。允许可能对内存分配产生副作用(

玩以太坊链上项目的必备技能(Constant 和 Immutable 状态变量-Solidity之旅十六)

constant(常量)说到常量这一概念,拥有现代编程经历的您,对这一词再熟悉不过了。常量,常量,顾名思义便是变量值始终不变,这在很多面向对象程序语言中都有。相对Solidity来说,它也是支持常量的。假若将状态变量(StateVriable)声明为constant(常量),而它的值是在编译时有确定的表达式来给它赋值。我们知道常量值是在编译时确定的,所以区块数据(例如block.timestamp,address(this).balance或者block.number)或执行数据(msg.value或gasleft())或对外部合约的调用来给它们赋值都是不允许的。允许可能对内存分配产生副作用(

IP协议+以太网协议

在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~IP协议网际协议IP是TCP/IP体系中两个最重要的协议之一,简单来说就是负责使互连起来的许多计算机网络进行通信的协议。计算机网络通过路由器进行互连,参加互连的计算机网络势必使用相同的网际协议IP,因此我们将互连以后的计算机网络看做是一种虚拟互连网络(逻辑互连网络),即互连起来的各种物理网络的异构性本来是客观存在的,但若我们使用了IP协议就可以将这些各异的网络在网络层上看做是一个统一的网络;那么在这样一个虚拟网络上,我们如何

IP协议+以太网协议

在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~IP协议网际协议IP是TCP/IP体系中两个最重要的协议之一,简单来说就是负责使互连起来的许多计算机网络进行通信的协议。计算机网络通过路由器进行互连,参加互连的计算机网络势必使用相同的网际协议IP,因此我们将互连以后的计算机网络看做是一种虚拟互连网络(逻辑互连网络),即互连起来的各种物理网络的异构性本来是客观存在的,但若我们使用了IP协议就可以将这些各异的网络在网络层上看做是一个统一的网络;那么在这样一个虚拟网络上,我们如何

Solidity智能合约开发 — 1-以太坊开发工具和部署

Solidity简介solidity是为实现智能合约而创建的一个高阶编程语言。也是以太坊虚拟机(EVM)智能合约的语言。Solidity开发工具remixremix是以太坊官方推荐的在线开发工具,适合新手。 在线开发网址:remix.ethereum.org下面讲解从创建第一个helloworld程序到编译智能合约到部署智能合约。1.创建hello_worlod.sol文件打开在线网址,左上角菜单有三个按钮,分别为文件、搜索、编译、部署。点击新建,创建一个hello_world.sol文件如下:我们拆开分析,学习solidity代码源文件的结构,需要注意的地方:第1行是注释,会写一下这个代码所

Solidity智能合约开发 — 1-以太坊开发工具和部署

Solidity简介solidity是为实现智能合约而创建的一个高阶编程语言。也是以太坊虚拟机(EVM)智能合约的语言。Solidity开发工具remixremix是以太坊官方推荐的在线开发工具,适合新手。 在线开发网址:remix.ethereum.org下面讲解从创建第一个helloworld程序到编译智能合约到部署智能合约。1.创建hello_worlod.sol文件打开在线网址,左上角菜单有三个按钮,分别为文件、搜索、编译、部署。点击新建,创建一个hello_world.sol文件如下:我们拆开分析,学习solidity代码源文件的结构,需要注意的地方:第1行是注释,会写一下这个代码所

详解以太坊

以太坊原理以太坊通过建立终极的抽象的基础层-内置有图灵完备编程语言的区块链-使得任何人都能够创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。图灵完备:能够运行非常复杂的运算,最简单的理解是它支持循环的操作,而比特币的验证是不支持循环的。以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。对比比特币外部账户:可用私钥控制的合约账户:一旦创建,只能是合约里面的代码控制,不能人为控制,但可以人为触发有向无环图DA