草庐IT

钻石合约

全部标签

关于【可变合约】的二三事(上)

前言很多做区块链技术的朋友对智能合约应该是熟悉的,应该也常听到,智能合约一旦发布上链便不可更改的技术性质。这是正确的,合约发布后,该合约本身的逻辑就固定了,无法再更改了,但我们却可以通过一些技术手段来调整合约的逻辑,从而实现可变合约的效果,本文便来简单讨论这些技术手段,主要是:多重合约与代理合约这两块。本文会基于RemixIDE来给出合约的效果,你可以基于【搭建RemixIDE本地开发环境】一文,搭建与我一样的开发环境。写到一半,发现内容比较多,分成上、下两篇来发,上篇主要讨论多重合约这种实现方式。多重合约合约间的调用要比较好的理解多重合约,你需要理解合约间是如何相互调用这一基础知识。这里,我

中移链合约常用开发介绍(五)合约项目编译

01目的本文档介绍了工程化开发智能合约项目的工程树目录,介绍了各个文件夹及文件的含义和用途。本文档将沿用之前文章中实现的地址簿合约内容,以初始化项目为例展开介绍,适合刚接触合约开发的开发人员用来了解智能合约项目,帮助其快速了解以及上手智能合约。02智能合约介绍区块链作为一种分布式可信计算平台,去中心化是其最本质的特征。每笔交易的记录不可篡改地存储在区块链上。智能合约中定义可以在区块链上执行的动作action和交易transaction的代码。可以在区块链上执行,并将合约执行状态作为该区块链实例不可变历史的一部分。因此,开发人员可以依赖该区块链作为可信计算环境,其中智能合约的输入、执行和结果都是

零时科技|solidity智能合约基础漏洞——重入漏洞

 ​0x01重入本质调用外部合约或将Ether发送到地址的操作需要合约提交外部调用,这些外部调用可能被攻击者劫持,迫使合约执行进一步的代码导致重新进入逻辑。0x02前置知识我们需要先知道以下几种函数的区别.transfer():发送失败则回滚交易状态,只传递2300Gas供调用,防止重入。.send():发送失败则返回false,只传递2300Gas供调用,防止重入。.call():发送失败返回false,会传递所有可用Gas给予外部合约fallback()调用;可通过{value:money}限制Gas,不能有效防止重入。payable标识符在函数上添加payable标识,即可接受Ether

【智能合约】智能合约开发指南

目录1.选择智能合约语言1.1Solidity1.2Vyper1.3Move1.4Rust2.部署和测试框架2.1概览2.2Remix2.3Truffle2.4Hardhat2.5其他框架3.前端工具3.1入门3.2Web3.js/Ethers.js3.3脚手架3.4Moralis4.钱包4.1小狐狸钱包(MetaMask)4.2多签钱包4.3冷钱包5.区块浏览器6.测试网与水龙头7.Web3基础设施前言从底层的区块链基础设施到建立在其之上的应用层的智能合约生态,Web3领域已经发展的相当之快。基于智能合约,我们可以构建出各种各样的dApp(去中心化应用),比如DeFi、GameFi、NFT、

以太坊 – 部署智能合约到Ganache

目录1. Ganache本地区块链1.1 主界面1.2 设置2. 开发智能合约2.1 初始化项目2.2 添加package.json文件2.3添加智能合约源文件2.4 编译项目3. 部署智能合约到Ganache3.1 更新配置文件3.2 创建迁移脚本 3.3 执行迁移命令1. Ganache本地区块链首先启动Ganache,创建本地的以太坊区块链网络。1.1 主界面本地区块链可以模拟公共区块链,开发人员可以在本地区块链上测试智能合约。打开Ganache,界面如下图所示:本地区块链缺省有10个外部账号,每个账号都有100个假的以太币,这些可以通过设置改变。Ganache界面中有下面几个主要页面:

FISCO BCOS——SmartDev-Contract——MarriageEvidence结婚证书合约案例分析

MarriageEvidence结婚证书合约案例分析一、合约场景分析二丶基础合约介绍1.角色合约(1)功能说明(2)接口说明(3)使用说明2.存证合约(1)功能说明(2)接口说明(3)使用说明三丶业务合约介绍1.结婚证书合约(1)功能说明(2)接口说明(3)使用说明一、合约场景分析谨以白头之约书向鸿笺,好将红叶之盟载明鸳谱。三千年来,结婚证书的形式一直在变化,但我们相信,它承载的美好爱情和对幸福婚姻生活的向往从未变过。使用区块链技术,让结婚证书上链,定格在区块链的历史长河中——永存。源码贡献者:github:Blockchain_Key源码分析者:github:Blockchain_Key源码

【蚂蚁链学习3】蚂蚁搬家(蚂蚁链智能合约实战solidity)

文章目录第一章生成蚂蚁的房子实战第二章mapping+identityMapping(映射)Identity(标识)实战第三章msg.sender全局函数实战第四章require实战第五章增加一些属性实战第六章Storage与Memory实战接下来我们需要给我们的小蚂蚁建造一个属于他的小窝,让小蚂蚁有个自己的家。第一章生成蚂蚁的房子小蚂蚁出生了,快来给它建造一所房子,给小蚂蚁一个安心的家。实战参照上面生成蚂蚁的例子,我们还需要给蚂蚁生成房子。定义一个事件叫做NewHouse。它有4个参数:houseId(uint)带indexed属性,name(string),existGoods(uint)

eosio.system智能合约介绍(一)账户和权限

帐户标识EOSIO区块链中的参与者,要使用EOSIO区块链,首先需要创建一个帐户。然后可以将智能合约部署到该帐户,并使用其他帐户权限来授权智能合约交易。本教程详细介绍了eosio.system智能合约中的账户和权限模块,适用于EOS智能合约的初级开发人员,熟悉如何进行账户的创建、短账户的竞标,以及自定义权限的创建、链接、取消链接、删除等。01概述(一)账户简介EOSIO帐户是由12个字符组成,仅包含小写字母a-z和数字1-5。每个账户的所有权仅由账户名称决定,因此一个帐户可以更新其密钥,而不必将它们重新分发给其他方。除了账户名,账户实例还与其他字段相关联,例如创建时间、ram配额/使用、cpu

区块链Solidity智能合约语言学习笔记

Solidity简介以太坊拥有多种高级语言,可用于编写智能合约,每种语言都受到另一种广泛使用的语言的启发。最流行的一种叫做Solidity,它基于JavaScript。由于Solidity是迄今为止最成熟的以太坊语言,因此它是社区大力鼓励开发人员现在使用的语言。Solidity是一种语法类似JavaScript的高级语言。它被设计成以编译的方式生成以太坊虚拟机代码。使用它很容易创建用于投票、众筹、封闭拍卖、多重签名钱包等等的合约。编译环境Remix在线编译器: http://remix.app.hubwiz.com/VScode编译器也行,其插件:                     第一

使用 Cadence 在 Flow 区块链上进行智能合约编程的新手指南

由于去中心化应用程序(DApps)的需求不断增长,智能合约编程最近也获得了极大的欢迎。智能合约是在区块链网络上运行的自动执行协议,其中以太坊是非常热门的一种。然而,随着对更具可扩展性和效率的区块链解决方案的需求不断增长,新的区块链网络(如Flow)正在出现。Flow是一个专为DApp和数字资产设计的区块链网络。它由CryptoKitties的创建者DapperLabs创建,并在NFT领域越来越受欢迎。Flow建立在一种名为Cadence的独特编程语言之上,该语言旨在使智能合约编程更易于访问、更安全。在本文中,我们将提供有关Flow区块链上Cadence和智能合约编程的速成课程。我们将介绍Cad