草庐IT

以太坊

全部标签

【Linux】数据链路层:以太网协议

约束不等于压迫,冷静和理性不等于冷淡和麻木。文章目录一、以太网帧和局域网转发数据包1.局域网转发的原理(基于以太网协议)2.以太网MTU与MAC地址二、局域网中的数据碰撞1.如何解决局域网中的数据碰撞?(碰撞检测和碰撞避免算法)2.如何重新看待局域网?(系统视角)3.局域网很大,如何降低数据的碰撞概率(交换机划分碰撞域+硬件转发)三、ARP协议1.ARP将已知的ip地址转换为未知的MAC地址的过程2.ARP缓存3.中间人的ARP欺骗一、以太网帧和局域网转发数据包1.局域网转发的原理(基于以太网协议)1.(1)IP提供了将数据包跨网络发送的能力,这种能力实际上是通过子网划分+目的ip+查询节点的

车载以太网之SomeIP协议

车载以太网之SomeIP协议1、SomeIP含义2、SomeIP通信协议3、SomeIP数据格式3.1数据格式含义3.2处理数据能力的要求4、面向服务的协议4.1Method4.2Event(FF)4.3Field4.4Autosar接口说明5、两个ECU间SomeIP数据的通讯过程6、SomeIP序列化6.1序列化和反序列化过程6.2序列化和反序列化的要求7、SomeIP测试(TC8)7.1测试规范7.2ECU即可以作为服务端还可以作为客户端1、SomeIP含义SOME/IP(Scalableservice-OrientedMiddlewarEoverIP):运行于IP之上的可伸缩的面向服务

solidity使用create2预测合约地址|create2用法|智能合约create2

此篇文章教你如何在部署合约前就可以确定合约地址一、合约源码让我们创建一个工厂合约,它包含两个合约。第一个是Demo合约,其中一个函数可以读取全县所有者的钱包地址。第二个合约是工厂合约,它可以在部署Demo合约前获取其合约地址。这个合约将使用Solidity文档中所说的CREATE2操作码:加“盐”的合约创建/create2。//SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractContractDemo{addresspublicowner;//Onlyownerscancalltransactionsmarkedwiththismo

python - 如何发送带有损坏的 FCS 的以太网帧?

我不确定这是否可行,因为这可能在硬件中处理,但我需要发送一些带有错误的以太网帧。我希望能够创建短帧、jabber、错位和错误的FCS错误。我在Python工作。 最佳答案 它可以在硬件中处理,但并非总是如此——即使是这样,您也可以将其关闭;查看ethtool卸载参数。关于完全控制您创建的框架——查看PF_PACKET(对于一种方法)或thetapdriver(另一个)。这是关于usingPF_PACKETtosendhand-craftedframesfromPython的文章. 关于p

python - 以太坊历史价格 - Coinbase API

使用pythoncoinbaseAPI——函数——get_buy_price、get_sell_price、get_spot_price、get_historical_data、等等...似乎都只返回比特币价格。有没有办法查询以太坊价格?currency_pair='BTC-USD'似乎可以更改为类似于currency_pair='ETH-USD'的东西,尽管这没有任何效果。我希望API根本不支持这一点,除了官方文档明确指出:Getthetotalpricetobuyonebitcoinorether我可以通过在买/卖请求中使用quote='true'标志来稍微解决这个问题。然而,这只

以太网协议 偏硬件

本文整理归纳用于学习,大多收集其他大佬的知识及图片,若侵权,请联系删除,若有误请指出。后面没心情整理了,在笔记上(写给自己看的)。一、基础知识从硬件上的连接来看CPU–MAC–PHY–变压器–RJ45–路由器–(交换机,可不连)–光猫–光纤CPU-MAC:PCI接口MAC-PHY:MII接口1.1OSI七层网络模型和TCP/IP四层网络模型。对于偏硬件的来说,更多的关注是物理层和数据链路层,即TCP/IP的数据链路层。信息流向物理层,就是bit流,呈现的是0和1的电平属性数据链路层,数据被加上了MAC地址信息,bit流–帧。交换机根据mac地址转发帧网络层,数据又被加上了IP头,bit流–帧–

solidity实现账户地址向合约账户转账

一个合约最多有一个receive函数,声明函数为:receive()externalpayable{…}不需要function关键字,也没有参数和返回值并且必须是 external 可见性和 payable修饰.它可以是virtual的,可以被重载也可以有修改器modifier。在对合约没有任何附加数据调用(通常是对合约转账)是会执行receive函数. 例如 通过.send()or.transfer()如果receive函数不存在, 但是有payable 的fallback回退函数那么在进行纯以太转账时,fallback函数会调用.如果两个函数都没有,这个合约就没法通过常规的转账交易接收以太

以太坊系列 - geth前后端分离的启动

console是启动geth控制台,不加该选项,geth启动之后成为一个后台进程不会自动结束前后端分离的启动这种方式既可以随时和geth交互,又不影响geth在后台运行,在服务器上非常有必要。做成服务vimstartgeth_service.shnohup/root/geth/geth--rpc--networkid=39318--maxpeers=0--datadir=/root/geth/devChain--rpccorsdomain"*"--rpcaddr"0.0.0.0"--rpcapi"eth,web3,personal,net,miner,admin"2>>/root/geth/o

Solidity基础语法、关键字

目录一、版本指令:pragmasolidity^x.x.xx;二、合约创建:contractxxx{...}三、状态变量四、无符号整数:uint五、数学运算(加减乘除、乘方)六、结构体:struct七、数组静态数组动态数组公共数组八、定义函数九、使用结构体和数组十、私有/公共函数十一、返回值:returns十二、函数的修饰符:view十三、函数修饰符:pure十四、散列函数Keccak256:字符串转256位16进制数字十五、类型转换十六、事件:event十七、Web3.js十八、地址:Address十九、映射:mapping二十、Msg.sender二十一、Require二十二、继承(Inh

谈谈区块链入门技能(二):以太坊区块链浏览器如何使用?

上一期我们介绍了比特币浏览器如何使用,本期我们来谈一谈什么是以太坊以及以太坊浏览器如何使用。什么是以太坊?以太坊是一个合作运行的、全球性的、透明的数据库。通过共同努力,来自世界各地的参与者维护了以太坊地址的公共记录,其中包括用户帐户和智能合约应用程序。这些记录像现代台式计算机的用户帐户和软件一起工作,除了以太坊是:合作运行:以太坊的基本运作来自其全球参与者的集体努力。没有任何一方可以改变以太坊的运作方式。可公开访问:世界上任何地方的任何人都可以与以太坊、其用户及其应用程序进行交互。透明:世界上任何地方的任何人都可以下载和查看以太坊数据库中的所有信息。任何人都可以成为以太坊的用户。创建帐户很简单