当前位置: 首页 > news >正文

solidity合约创建

合约可以通过使用new关键字来创建其他合约的实例。

这个过程会执行被创建合约的构造函数(如果存在的话),并返回一个指向新创建合约的地址的引用。

这种方式允许智能合约动态地在区块链上部署新合约,并与它们交互。

通过 new 创建合约

当你在使用new关键字创建一个合约实例时,这个新创建的合约会被部署到以太坊区块链上,并且会有一个独一无二的地址与之对应。

这个地址是合约在区块链上的唯一标识,可以用来与合约进行交互。 也可以单独交互

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;contract A {function getName() public pure returns (string memory) {return "success";}
}contract C {// 通过new 创建一个合约A public ac = new A();function getAc() public view returns (address) {return address(ac);}function createA() public {A a = new A();a.getName();}
}

注释事项:

合约地址是通过创建合约的地址和该地址所发起的交易数量(也被称作“nonce”)来生成的。

每当一个地址发起一个新的交易,它的nonce就会增加。

这种方式下,合约地址的生成是预定的,即在交易被矿工处理之前,就可以根据发起者地址和其当前的nonce来预测新合约的地址。

http://www.lryc.cn/news/412621.html

相关文章:

  • 队列---循环队列实现
  • 【视频讲解】后端增删改查接口有什么用?
  • 双指针hard题
  • 前端实现【 批量任务调度管理器 】demo优化
  • 【数据结构】包装类和泛型
  • 浅学爬虫-数据存储
  • 十六、maven git-快速上手(智慧云教育平台)
  • chrome/edge浏览器插件开发入门与加载使用
  • 【完美解决】 TypeError: ‘str’ object does not support item assignment
  • Android SurfaceFlinger——渲染开始帧(四十三)
  • fastadmin搜索栏实现某字段动态下拉搜索
  • .NET未来路在何方?
  • Vue开发环境搭建
  • 【数据结构初阶】详解:实现循环队列、用栈实现队列、用队列实现栈
  • 【Hot100】LeetCode—31. 下一个排列
  • 找到学习的引擎,更让你进入心流状态的高效学习
  • QItemDelegate QItemDelegate QItemDelegate
  • MySQL数据库 外键默认约束和action 基础知识【2】推荐
  • JS正则表达式学习与实践
  • Java数据结构(五)——栈和队列
  • 工具使用:nrm使用以及n模块
  • 匿名管道+进程池+命名管道
  • 【深度学习】【语音TTS】OpenVoice: Versatile Instant Voice Cloning,论文
  • 一六零、云服务器开发机配置zsh
  • [ZJCTF 2019]NiZhuanSiWei1
  • 【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!
  • [STM32]HAL库实现自己的BootLoader-BootLoader与OTA-STM32CUBEMX
  • 鸿萌数据备份服务:中小型企业如何策划及实施云备份方案
  • x264 编码过程中延迟逻辑分析
  • 前端框架 element-plus 发布 2.7.8