新平台上面的交互在预先铺设时Meta Force出现的新内容属于单个系统的部分组成结构,在从前的项目当中与其他人一样,但是在第1个智能合约中新程序与Meta Force 的程序完全不同。S6matrix作为Metaforce中的第2个模型,他有6个要点,如果每天进账的资金不拿出去就是在二线,钱是第1位,第二、第三个位置是100%,之后仍然是100%。第2排的最后一个位置叫做循环位,无论在s3矩阵中还是在s6矩阵中,所有循环的BT都有着相同的含义。
在s6矩阵中循环位是在第2行的第2位或者是第4位取决于哪个位置先到,循环位会帮助用户去重新投资,位置会发生改变。简单来讲,在s6矩阵中以下6点会来自于上级或下属或者是朋友,或者是下属,也就是说360度无死角的。S6矩阵当中第1排的两个位置会给到你的,上级之后倒数4个位置中会有三个位置,这样就会得到100%。其中有一个是帮助你重置矩阵的圆形位置,但很多合作伙伴不知道的是第1排的两个位置一定要是你的上级。
一、编写一个合约实例时需要编写出一个做加法的合约
二、在编译合约时必须通过remix编译才能够获得abi与data
三、正式部署合约
正式部署合约时txpool当中有一条交易进行挖矿打包,当合约部署成功之后通过addcontract.address去查看合约地址了。
四、调用合约
txpool终会存在一条交易,通过myContract.add.call(1,2)调用合约时不要产生交易,直接返回最终结果。
五、代码分析
通过sendTransaction接口发送的交易看不到返回结果的按键,想要找到该交易产生的最终结果必须从代码角度看最终结果在哪里。
1.要判断余额是否可以满足本次转账中需要的资金需求,如果满足资金需求可以先转账,根据input执行合约run。
2.在run当中的重点是for循环,通过op = contract.GetOp(pc)获取操作码后需要它所对应的函数定义在jump_table.go中。
3.operation := in.cfg.JumpTable[op]获取对应的操作函数才能进行stack校验。
4.最后通过res, err := operation.execute(&pc, in.evm, contract, mem, stack)的方式获取三回结果的操作方式。
通过上面的代码运行将返回的最终结果存在res中,但交易结果在交易中是无法直接保存下来,我们无法通过sendTransaction发起的交易查询最终的结果,但是在sendTransaction中设置变量值打包进区块可以通过call调用相应变量数据处理查询结果。