草庐IT

3-智能合约介绍

存储合约示例//说明源代码是根据GPL3.0版本授权的//SPDX-License-Identifier:GPL-3.0//告诉编译器源代码所适用的Solidity版本为>=0.4.16及0.9.0pragmasolidity>=0.4.160.9.0;contractSimpleStorage{ //声明了一个名为storedData的状态变量,其类型为uint(256位无符号整数)uintstoredData;functionset(uintx)public{storedData=x;}functionget()publicviewreturns(uint){returnstoredDat

智能合约安全之Solidity重入攻击漏洞的深入理解

漏洞原理以太坊智能合约的特点之一是能够调用和使用其他外部合约的代码。这些合约通常会操作以太币,经常将以太发送到各种外部用户地址。这种调用外部合约或向外部地址发送以太币的操作,需要合约提交外部调用。这些外部调用可能被攻击者劫持,比如,通过一个回退函数,强迫合约执行进一步的代码,包括对自身的调用。这样代码可以重复进入合约,这就是“重入”(Re-Entrancy)的来源。著名的DAO黑客攻击事件中就是利用了这种类型的漏洞。以下Solidity知识点能帮助我们更好的理解重入攻击的内在原因。Fallback函数合约可以有一个未命名的函数。这个函数不能有参数也不能有返回值。如果在一个到合约的调用中,没有其

智能合约开发(1)

准备:注册智能合约在线开发平台,用于solidity语言的智能合约开发。在浏览器上安装metamask钱包插件,并注册账号以太坊智能合约平台地址:https://remix.ethereum.org4小时速成solidity开发教程https://www.youtube.com/watch?v=AYpftDFiIgk基础知识:智能合约和python一样,也可以导入库,以下是一些常用的智能合约库,ERC-20(EthereumRequestforComments20):是以太坊区块链上的一种通用标准,用于发行代币,规定了代币合约应该遵循的一些基本功能,包括代币的转账、余额查询、代币的总供应量等。

web3: 智能合约

目录智能合约的历史什么是智能合约如何运作?智能合约的应用代币标准ERC-20什么是ERC-20?功能ERC-20代币接口ERC-721什么是ERC-721?功能ERC-721代币接口:ERC-165ERC-777什么是ERC-777&

java-sdk-demo 测试自己部署的合约(PerformanceXXX.java)区块链性能测试

祝大家龙年快乐呀!最近一直在做区块链的性能测试,我发现目前很多文档里面,都没有仔细介绍怎么测试自己的合约,我在自己做实验期间遇到了很多问题,网上没有找到答案,所以我成功之后,就自己遇到的一些问题写一个文档,希望对大家有一些帮助。一、我们将sol文件转化为java文件,并写Performance文件#进入dist目录;cddist#建立一个文件;mkdir-pcontract/solidity#将需要转换为XXX.java代码的XXX.sol文件拷贝到dist/contracts/solidity路径下;#转换sol,其中${packageName}是一个文件名,可以自己的命名,比如名为yeap

深入解析AAVE智能合约:存款

概述读者可以前往我的博客获得更好的阅读体验。我们在上一篇文章AAVE交互指南中主要介绍了aave前端、利率计算等内容,本篇文章将在交互指南基础上介绍aave-v3的合约源代码的相关情况。与之前所写的深入解析Safe多签钱包智能合约系列文章不同,本文主要以我们在AAVE交互指南中进行的合约操作为主线进行分析介绍,较为实战化。相比于其他项目,AAVE提供了一个较为完整的文档。在文档内基本涵盖了所有函数的签名及其作用,读者也可作为阅读源代码的重要参考。AAVE的总体架构如下:本文使用存款描述用户向流动性池内注入资产的行为,或称supply或deposit,当然在V3版本中,deposit已被遗弃。当

区块链智能合约&恶意交易2022-2024相关论文及idea

写在前面使用chatpdf,翻译摘要,借鉴参考链接:https://github.com/hzysvilla/Academic_Smart_Contract_Papers的方式快速调研当前顶会的论文idea。Phoenix:DetectandLocateResilienceIssuesinBlockchainviaContext-SensitiveChaos论文动机:作者关注如何检测区块链系统中的弹性问题。弹性是指区块链系统在遇到异常情况后恢复到正常状态的能力。核心思想:作者引入混沌工程技术来测试区块链系统的弹性。(混沌工程,是一种提高技术架构弹性能力的复杂技术手段。)设计:作者利用混沌工程在

部署智能合约以及 javascript 调用合约函数(Web3项目二实战之三)

在上一篇智能合约是Web3项目的核心要务(Web3项目二实战之二),我们已然为项目编写了智能合约,在攥写完智能合约后,该项目将完成了一大部分,剩下无非就是用户界面交互的内容。然而,在码完了智能合约代码后,起着承前启后关键性的便是,前端界面与智能合约的交互。智能合约好比是Web3项目的灵魂、核心,那么,通过javascript与智能合约交互,便是一座通往Web3核心的沟通桥梁,并且,这座桥是唯一必经之路。部署智能合约我们在项目根目录下的scripts文件夹内,对其下的deploy.js进行相应的修改。consthre=require(

手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)

文章目录手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)回顾部署NFT721铸造NFT根据tokenId查看NFT链上数据完整代码[NFT721相关智能合约源码下载](https://download.csdn.net/download/huangxuanheng/86260438)手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)回顾初学区块链,那真叫一个痛苦并无助。如果没有人带你的话今天写的这篇是在前面文章基础上写的,初学区块链的朋友建议先看我前面写的文章手把手教你区块链java开发智能合约nft-第一篇手把手教你区块链java开发智能合约nft-

详解区块链,智能合约,去中心化应用

文章目录一、区块链是什么?二、智能合约三、去中心化应用一、区块链是什么?区块链本质上是一个去中心化的分布式账本数据库,目的是解决交易信任问题。广义来看,区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来看,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链技术来源于比特币的,其本质是一个基于共识机制、无中心化的数据库,具有去中心化、可溯源、不可篡改