草庐IT

钻石合约

全部标签

蚂蚁区块链投票案例(二)---投票合约设计开发

文章目录摘要背景案例场景用例分析系统管理员注册添加小区、添加房屋编辑房屋发起投票统计投票业主注册业主实名认证客房关系认证投票合约设计设计原则合约设计合约开发命名规则工具代码编译部署测试升级实验存在的问题疑问代码参考资料摘要计划用三篇文章,一个月左右的时间来实现一个蚂蚁开放联盟链上的区块链投票案例,本文是系列第二篇。蚂蚁区块链投票案例(一)—蚂蚁链简介蚂蚁区块链投票案例(二)—投票合约设计开发蚂蚁区块链投票案例(三)—Java调用部分实现(整理中)背景本文将结合具体的投票案例,设计一组区块链投票合约,并将合约部署到蚂蚁开放联盟链进行测试。重点在于结合工具展示蚂蚁链solidity合约的开发、升级

Solidity智能合约开发 — 5.2 -理解EVM虚拟机交易执行、合约创建、区块上链

1EVM概述一个交易数据中附加了合约创建代码或者合约函数调用代码,以太坊客户端就会相应的使用EVM来运行这些代码。所有智能合约代码最终反映为EVM机器码,以下是常有的EVM操作码.1.1EVM操作码栈和内存操作码    POPPUSH MLOADMSTOREJUMPPCMSIZEGASDUPSWAP通用系统操作码   CREATECALLRETURNREVERTSELFDESTRUCT算数操作码    ADDMULSUBDIVSDIVMODSMODADDMODMULMODEXPSTOP环境数据操作码   ADDRESSBALANCECALLVALUEORIGINCALLERCODESIZEGA

基于以太坊的智能合约开发Solidity(数组提升篇)

参考教程:【数据存储篇】1、string内存原理——特殊动态数组_哔哩哔哩_bilibili1、语法——字符串://声明版本号(程序中的版本号要和编译器版本号一致)pragmasolidity^0.5.17;//合约contractDynamicString{  stringname="lalalalalalala啦啦啦";    functiongetLength()publicreturns(uint)  {    returnbytes(name).length; //要想获取字符串的长度,需要先将其强制转换成动态长度字节数组(string不提供长度属性)  }    functiong

智能合约是Web3项目的核心要务(Web3项目二实战之二)

我们已经不止一次地说过,只要把智能合约设计攥写好了,那么,这个Web3项目也就完成了90%,它就好比Web2项目的服务器端。通过Web3项目一实战之一到Web3项目实战之六的实践中,您应该是逐渐明白了智能合约对于一个Web3项目来讲,是多么重要了吧!空心菜、空心菜,没有心却可以活;然而人却不能。同样,一个Web3项目要是缺少了核心,它也就不是Web3项目了。编写智能合约(SmartContract)我们还是一样在项目根目录下找到contracts这个文件夹,您对其文件夹内的智能合约示例,早已是见怪不怪了,毕竟您也是从Web3项目一实践过来的(处在世界的某一个角落的我,是没有办法知道您是否真的按

Solidity 以太坊智能合约标准-ERC721(2023版)

ERC721定义了一种以太坊生态中不可分割的、具有唯一性的Token交互、流通的接囗规范。官网简要称为Non-FungibleTokenStandard(简称NFT标准规范),即非同质化Token(或不可替代的Token)。ERC721合约标准提供了在实现ERC721Token时必须要遵守的协议,要求每个ERC721标准合约需要实现ERC721接囗及ERC165接囗。ERC721特性:在该合约内,tokenId唯一tokenId只能被一个owner所拥有一个owner可以拥有多个NFT,balance函数只能查询owner拥有多少个tokenNFT可通过approve、transfer等接囗方

区块链学习笔记21——ETH智能合约

区块链学习笔记21——ETH智能合约学习视频:北京大学肖臻老师《区块链技术与应用》笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页智能合约简介智能合约是运行在区块链上的一段代码,代码的逻辑定义了合约的内容智能合约的账户保存了合约当前的运行状态balance:当前余额nonce:交易次数code:合约代码storage:存储,数据结构是一棵MPTSolidty是智能合约最常用的语言,其语法上与JavaScript很接近智能合约的代码结构如何调用智能合约调用智能合约与转账是类似的,比如A发起一个交易转账给B,如果B是一个普通账户那么这就是一个普通的转账交易,如果B是一个合

以太坊虚拟机EVM介绍,智能合约详解

以太坊为例:什么是智能合约?智能合约怎么部署、调用、执行?智能合约的原理?智能合约存在哪儿?如何区分调用的是智能合约?世界状态数据库、EVM、智能合约它们之间的关系?什么是智能合约指的是“一套以数字形式指定的承诺,包括合约参与方可以在上面执行这些承诺的协议”。早在1994年,美国计算机科学家尼克·萨博(NickSzabo)就提出了智能合约的概念。智能合约是一种基于区块链技术的自动执行合约的计算机程序。它们是一组以代码形式编写的、在区块链上运行的规则和逻辑。智能合约定义了在满足特定条件时应该执行的操作,而无需中介方的干预。以太坊是最为著名的支持智能合约的区块链平台之一。在以太坊中,智能合约是用一

使用hardhat 部署 solidity智能合约到测试网

概述在刚开始学solidity智能合约的时候,我们大多数都是通过Remix在线编辑器完成合约编辑部署和测试等流程的工作。毫无疑问,remix在调试的时候是十分的方便的。但是随着编写的合约越来越多,仅仅通过remix来部署就会有些吃力了,各种的参数传递,合约之间的部署的先后关系,以及合约文件的管理,都需要能够工程化的处理这些流程。目前以及有一些比较成熟的开发,调试,部署等全流程的框架了,其中用的比较多是truffle和hardhat。hardhat相对truffle更新功能也更完善,使用起来也很方便。下面就记录了我自己使用hardhat的流程以及遇到的一些问题。项目初始化mkdirnewFlod

使用MetaMask + Ganache搭建本地私有网络并实现合约部署与互动

我使用Remix编写合约,MetaMask钱包工具和Ganache搭建了一个私有网络,并且实现了合约的部署和互动。在前面的博客中提到了Remix在线环境及钱包申请以及Solidity的基本语法,没看过的小伙伴可以点击链接查看一下,都是在本专栏下,觉得有用的伙伴记得点个关注哦。目录1.工具介绍及下载地址2.编写合约3.创建Ganache网络4.钱包添加Ganache测试网络5.部署合约6.合约互动1.工具介绍及下载地址remix:Remix是一个基于Web的以太坊合约开发和调试工具。它允许开发人员在浏览器中编写、编译、调试和部署以太坊智能合约。地址:http://remix.ethereum.o

手把手教你部署一个starnet上的 ERC20合约

文章目录手把手教你部署一个starnet上的ERC20合约一、【重要】基础:starknet合约学习二、关于ERC20【过时,不推荐】代码【推荐】code三、Starknet改进提案-SNIPs四、OpenZeppelinOpenZeppelin/cairo-contractsOpenZeppelin/cairo-contractserc20合约代码分析使用OpenZeppelin库写erc20合约Usingthelibrary