草庐IT

钻石合约

全部标签

智能合约开发测试部署验证一条龙

前面提到,我最近在看Web3,这不记录下最近看到的好玩的。忘了在哪里看到的一句话,Web3这个东西,刚看时让人摸不到头脑的点在于,你很难知道要用哪些东西去组装,去哪里拿数据。比如都说区块链人人可访问,我要到哪里看到它?毕竟看得见的东西更让人心安。给俺瞧瞧。我到哪里去看区块链上的数据?不给你区块链浏览器这个关键词,大概很难知晓。一个经常会看到的疑问是如何与合约交互,比如,合约里存了一个字符串,我现在要将其展示到页面上,如何搞?这玩意是去中心化的呀,没有一个API地址让你去连呀,于是就迷茫了。。。。。。。。。。。。其实Web3里的很多东西,就是一张纸,没啥,与智能合约交互其实就是要和节点交互,但维

区块链智能合约

合同(Contract)又称契约、协议,是平等主体的自然人、法人、其他组织之间设立、变更、终止民事权利义务关系的协议。本质上讲,合同是当事双方或多方在并没有充足信任的情况下,通过文字的约定和法律的权威,对各自的权利与义务进行的约定。制订合同的目的就在于所签署协议的执行。传统合同的执行要求当事人的参与并消耗相应的时间,当违约发生时,还需要法律、机构等第三方的介入。可以说,人类社会投入了相当大的成本,以保证合同得到当事各方的尊重和执行。尽管如此,合同违约的事情还是屡见不鲜,时代的发展也在某种程度上放大了这个问题,因为随着经济全球化的发展,人们经常要与不了解的,甚至处在不同文化背景和法律体系下的合作

区块链合约安全系列(三):如何认识及预防公链合约中的自毁攻击

id:BSN_2021公众号:BSN研习社作者:红枣科技张雪良背景:由于公链环境下所有的信息都是共享的,智能合约相当于是完全透明化,任何人都可以调用,外加一些利益的驱动,导致引发了很多hacker的攻击。其中selfdestruct攻击也是常见的攻击方式之一。目标:将目标合约瘫痪掉,无法做正常的业务,从而认识以及预防自毁攻击漏洞。对象:适用于用Solidity语言开发的智能合约,例如BSN中的武汉链(基于ETH)和泰安链(基于fiscobcos)上运行的智能合约。前言在进入正题之前,我先带大家从基础知识点开始一点点深入到怎么攻击以及预防。好,废话不多话,先看下selfdestruct的官方解释

Solidity极简入门#21. 调用其他合约

调用已部署合约开发者写智能合约来调用其他合约,这让Ethereum网络上的程序可以复用,从而建立繁荣的生态。很多web3项目依赖于调用其他合约,比如收益农场(yieldfarming)。这一讲,我们介绍如何在已知合约代码(或接口)和地址情况下调用目标合约的函数。目标合约我们先写一个简单的合约OtherContract来调用。contractOtherContract{uint256private_x=0;//状态变量_x//收到eth的事件,记录amount和gaseventLog(uintamount,uintgas);//返回合约ETH余额functiongetBalance()viewp

智能合约安全分析,Vyper 重入锁漏洞全路径分析

智能合约安全分析,Vyper重入锁漏洞全路径分析事件背景7月30日21:10至7月31日06:00链上发生大规模攻击事件,导致多个Curve池的资金损失。漏洞的根源都是由于特定版本的Vyper中出现的重入锁故障。攻击分析通过对链上交易数据初步分析,我们对其攻击的交易进行整理归纳,并对攻击流程进一步的分析,由于攻击涉及多个交易池。pETH/ETH池子被攻击交易:https://etherscan.io/tx/0xa84aa065ce61dbb1eb50ab6ae67fc31a9da50dd2c74eefd561661bfce2f1620cmsETH/ETH池子被攻击交易:https://ethe

区块链之java(六.1) 合约监听

之前写的那一篇呢,好像有点点问题。就是在设定监听的时候,没有编写具体监听的方法。今天带来一篇新的方式的合约监听前面的就不赘述了。合约上的监听是一样的。在java中。根据abi生产的文件,其实在里面是有监听方法的代码如下:publicFlowablestoEventFlowable(EthFilterfilter){returnweb3j.ethLogFlowable(filter).map(newFunction(){@OverridepublicStoEventResponseapply(Loglog){EventValuesWithLogeventValues=extractEventPa

以太坊合约地址计算

1.引言以太坊创建合约的方式有2种:1)由EOA账号直接创建合约2)由其它智能合约创建智能合约2.1)通过CREATE(0xf0)opcode2.2)通过CREATE2(0xf5)opcode//SPDX-License-Identifier:MITpragmasolidity0.8.7;contractOpCreates{functionopCreate(bytesmemorybytecode,uintlength)publicreturns(address){addressaddr;assembly{addr:=create(0,0xa0,length)sstore(0x0,addr)}r

【区块链 | 智能合约】Ethereum源代码(3)- 以太坊RPC通信实例和原理代码分析(上)

上一节提到,以太坊在nodestart的时候启动了RPC服务,以太坊通过Rpc服务来实现以太坊相关接口的远程调用。这节我们用个实例来看看以太坊RPC是如何工作的,以及以太坊RPC的源码的实现一,RPC通信实例1,RPC启动命令:geth--rpcgo-ethereum的RPC服务默认地址:http://localhost:8545/通过以下命令修改默认地址和端口:geth--rpc--rpcaddr--rpcport如果从浏览器访问RPC,CORS将需要启用相应的域集。否则,JavaScript调用受到同源策略的限制,请求将失败。geth--rpc--rpccorsdomain“http://

蚂蚁开放联盟链合约开发入门

蚂蚁链简介蚂蚁链包含多个产品:合约体验链、开放联盟链、联盟链合约体验链:一条本地开发体验链,供您免费体验本地开发的全流程 网址联盟链:可以创建或加入联盟,门槛较高 网址开放联盟链:面向企业和开发者提供的“无需搭链、快速上链、接近公链”的区块链服务网络。网址本文介绍如何快速入门蚂蚁开放联盟链合约开发快速上手准备环境开通开放联盟链如果尚未开通开放联盟链,需要先开通相关服务。开放联盟链服务目前免费开通。登录控制台,按照指示开通。申请AccessKey私钥文件申请用于连接联盟链的acceddId和accessKey,后续和合约进行交互时需要用创建链上账户在控制台左侧“链

区块链入门教程(7)--使用控制台部署及调用合约

文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1编写合约文件4.2编写代码4.3部署Demo合约4.4调用Demo合约5.总结1.任务背景装完控制台,可以部署、调用合约了。2.任务目标掌握部署、调用合约的操作。3.相关知识点直接看实操。4.任务实操4.1编写合约文件cd/opt/fisco-console/console/contracts/soliditytouchDemo.sol4.2编写代码nanoDemo.sol代码为:pragmasolidity^0.4.24;contractDemo{stringname;functionDemo(){name="Hello,Wor