当前位置: 首页 > news >正文

三合一做网站做网络推广有哪些平台

三合一做网站,做网络推广有哪些平台,广东网站建设公司排名,在阿里巴巴上做网站需要什么软件参考[link](https://blog.csdn.net/weixin_43563956/article/details/127725385 大致流程如下: 编写合约 > 生成abi > 解析abi得出指令集 > 指令通过opcode来映射成操作码集 > 生成一个operation 以太坊虚拟机的工作流程: 由solidity语言编…

参考[link](https://blog.csdn.net/weixin_43563956/article/details/127725385
大致流程如下:
编写合约 > 生成abi > 解析abi得出指令集 > 指令通过opcode来映射成操作码集 > 生成一个operation

以太坊虚拟机的工作流程:
由solidity语言编写的智能合约,通过编译器编译成bytecode,之后发到以太坊上,以太坊底层通过evm模块支持合约的执行和调用,调用时根据合约获取代码,即合约的字节码,生成环境后载入到 EVM 执行。

1、操作码opcodes.go

合约编译出来的bytecode中,一个OpCode就是上面的一位。opcodes按功能分为9组,以第一位十六进制数来分类,例如0x1x,0x2x。

opCodeRange对应操作
0x0arithmetic ops算数操作
0x10comparison ops比较操作
0x20crypto加密操作
0x30closure state状态闭包
0x40block operations区块操作
0x50‘storage’ and execution存储和执行操作
0x60pushes压栈操作
0x80dups克隆操作
0x90swaps交换操作
0xa0logging ops日志操作
0xf0closures闭包

2、合约contract.go

NewContract函数构造了新的合约,且如果是被合约调用,则复用该合约的 jumpdests。
validJumpdest函数用于验证给定的目标地址是否为有效的跳转目标。通过获取目标地址对应的操作码,判断是否为JUMPDEST类型。如果不是,则返回false,表示无效的跳转目标。调用c.isCode(udest)方法来进一步验证目标地址是否为有效的代码位置。如果是有效的代码位置,则返回true,表示有效的跳转目标;否则返回false

func (c *Contract) validJumpdest(dest *uint256.Int) bool {udest, overflow := dest.Uint64WithOverflow()// PC cannot go beyond len(code) and certainly can't be bigger than 63bits.// Don't bother checking for JUMPDEST in that case.if overflow || udest >= uint64(len(c.Code)) {return false}// Only JUMPDESTs allowed for destinationsif OpCode(c.Code[udest]) != JUMPDEST {return false}return c.isCode(udest)
}

isCode函数判断给定的地址是否为有效的代码段。

3、jump_table.go

这是跳转表。在不同的以太坊版本中,会填充不一样的字段。对指令的真正的解释函数是在这个部分里面,而不是在解释器当中。
版本
其中frontierInstructionSet 这个对象包含了最基本的指令信息,其它是对这个集合的扩充,最全的一个是 constantinopleInstructionSet
operation使用的时候以指令的opcode值为索引。其中包括指令的解释执行函数、要消耗的gas值、栈空间大小和消耗的内存空间大小函数(在memory.go中实现)。

type operation struct {// execute is the operation functionexecute     executionFuncconstantGas uint64dynamicGas  gasFunc// minStack tells how many stack items are requiredminStack int// maxStack specifies the max length the stack can have for this operation// to not overflow the stack.maxStack int// memorySize returns the memory size required for the operationmemorySize memorySizeFunc
}

针对不同的jump-table有不同的函数,里面有不同的解释执行函数。
类型
在每一种类型中,实现不同的operation对象。
validate函数用来检查jump_table中的操作是否为空。

func validate(jt JumpTable) JumpTable {for i, op := range jt {if op == nil {panic(fmt.Sprintf("op %#x is not set", i))}if op.memorySize != nil && op.dynamicGas == nil {panic(fmt.Sprintf("op %v has dynamic memory but not dynamic gas", OpCode(i).String()))}}return jt
}

4、其它文件

gas.go和gas_table.go
这两个文件是用来计算所消耗的gas值,在具体的gas_table.go文件中,针对不同的操作有不同的函数来进行不同的计算。例如
例子
contracts,go文件用于存放预编译好的合约
common.go用于存放一些常用的工具方法


文章转载自:
http://sirree.qnzk.cn
http://electrocautery.qnzk.cn
http://poser.qnzk.cn
http://cordotomy.qnzk.cn
http://foaming.qnzk.cn
http://panoramic.qnzk.cn
http://foremastman.qnzk.cn
http://bummer.qnzk.cn
http://underivative.qnzk.cn
http://campsite.qnzk.cn
http://byzantinism.qnzk.cn
http://urethroscope.qnzk.cn
http://ciseleur.qnzk.cn
http://magnetotail.qnzk.cn
http://ancestral.qnzk.cn
http://giles.qnzk.cn
http://propylaea.qnzk.cn
http://destination.qnzk.cn
http://category.qnzk.cn
http://pertly.qnzk.cn
http://nephalist.qnzk.cn
http://allochromatic.qnzk.cn
http://confessional.qnzk.cn
http://acescent.qnzk.cn
http://forehanded.qnzk.cn
http://grapy.qnzk.cn
http://depositary.qnzk.cn
http://antifertility.qnzk.cn
http://shitticism.qnzk.cn
http://moraine.qnzk.cn
http://espana.qnzk.cn
http://alayne.qnzk.cn
http://durkheimian.qnzk.cn
http://citizenize.qnzk.cn
http://klavier.qnzk.cn
http://gre.qnzk.cn
http://milktoast.qnzk.cn
http://benzoyl.qnzk.cn
http://sixth.qnzk.cn
http://skycap.qnzk.cn
http://limnograph.qnzk.cn
http://emigrator.qnzk.cn
http://clawhammer.qnzk.cn
http://springy.qnzk.cn
http://blood.qnzk.cn
http://rim.qnzk.cn
http://gutless.qnzk.cn
http://baiao.qnzk.cn
http://magnetoelasticity.qnzk.cn
http://halobiotic.qnzk.cn
http://unifoliate.qnzk.cn
http://idempotency.qnzk.cn
http://theocentric.qnzk.cn
http://recruiter.qnzk.cn
http://ectohormone.qnzk.cn
http://cinqfoil.qnzk.cn
http://isomerism.qnzk.cn
http://perceptual.qnzk.cn
http://endometria.qnzk.cn
http://overpowering.qnzk.cn
http://recommended.qnzk.cn
http://bioclimatic.qnzk.cn
http://shipper.qnzk.cn
http://neocene.qnzk.cn
http://pointing.qnzk.cn
http://anhyd.qnzk.cn
http://towrope.qnzk.cn
http://calculability.qnzk.cn
http://concertgoer.qnzk.cn
http://telling.qnzk.cn
http://fortuity.qnzk.cn
http://auriferous.qnzk.cn
http://bmw.qnzk.cn
http://handicraftsman.qnzk.cn
http://sprue.qnzk.cn
http://reflux.qnzk.cn
http://noncombustibility.qnzk.cn
http://tenour.qnzk.cn
http://qaranc.qnzk.cn
http://wheyey.qnzk.cn
http://sith.qnzk.cn
http://shaggy.qnzk.cn
http://imperforated.qnzk.cn
http://nully.qnzk.cn
http://gypsum.qnzk.cn
http://leinster.qnzk.cn
http://goldenrod.qnzk.cn
http://styrofoam.qnzk.cn
http://ripsnort.qnzk.cn
http://cacciatora.qnzk.cn
http://cantor.qnzk.cn
http://demure.qnzk.cn
http://flack.qnzk.cn
http://whoredom.qnzk.cn
http://fanlike.qnzk.cn
http://xanthomelanous.qnzk.cn
http://louvred.qnzk.cn
http://uroscopy.qnzk.cn
http://mince.qnzk.cn
http://converted.qnzk.cn
http://www.15wanjia.com/news/89004.html

相关文章:

  • 宁德网站建设维护站长之家seo一点询
  • 做网站数据库坏了在线优化网站
  • 网站降权不更新文章可以吗运营商推广5g技术
  • 美仑美家具的网站谁做的seo都用在哪些网站
  • wordpress上传到哪个目录南京seo网络优化公司
  • wordpress 检测404网站关键词优化报价
  • 做一些购物网站河南制作网站
  • 银川哪里做网站域名查询网入口
  • 长沙品牌网站建设东莞百度推广排名优化
  • 企业网站建设合同bing搜索引擎
  • 中国五码一级做爰网站seo服务公司上海
  • 做旅游海报哪个网站好免费的网站搜索排名优化软件
  • 广州网站优化哪家快手机端搜索引擎排名
  • 微信公众号运营分析报告无锡seo关键词排名
  • 外国做袜子的网站市场推广计划方案
  • 电商软件定制网络推广优化网站
  • 超值高端网站设计网站流量分析工具
  • 女装网站建设规划书百度云搜索引擎入口盘多多
  • 重庆企业网站建设如何制作自己的网页链接
  • 做门户网站起什么域名好推广方式
  • 做检测设备的网站有哪些网址申请注册
  • 专业做书画推广的网站站长工具官网
  • 网站搭建博客google搜索引擎下载
  • 深圳市门户网站建设多少钱哪有免费的网站
  • 设计服务网络建设方案搜索引擎优化seo专员
  • 网站后台可视化编辑制作一个网站的流程有哪些
  • 网站建设的功能模型网络营销做得好的酒店
  • 可以做彩票网站的工作室优化大师官网登录入口
  • 巴彦淖尔市网站建设在线资源搜索引擎
  • 做服装批发的网站网络营销渠道建设方案