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

如何在网上建立自己的网站自助建站信息网

如何在网上建立自己的网站,自助建站信息网,射阳做企业网站多少钱,怎么做网站 新手做网站Remix介绍 官网地址 Remix 是一个基于浏览器的 Solidity 开发环境,主要用于编写、测试、调试和部署以太坊智能合约。 Solidity基本数据类型 类型说明示例uint / int无符号 / 有符号整数uint256, int8, int256bool布尔类型(true / false)bo…

Remix介绍

官网地址
Remix 是一个基于浏览器的 Solidity 开发环境,主要用于编写、测试、调试和部署以太坊智能合约。

Solidity基本数据类型

类型说明示例
uint / int无符号 / 有符号整数uint256, int8, int256
bool布尔类型(true / falsebool isActive = true;
address以太坊地址(20字节)address owner;
string字符串string name = "Alice";
bytes定长或变长字节数组bytes32, bytes
fixed / ufixed固定小数类型(未完全实现)不常用,建议不用
enum枚举类型(自定义)enum Status { Active, Inactive }
array数组uint[] memory nums;
struct结构体struct Person { string name; uint age; }
mapping映射(键值对)mapping(address => uint) balances;

1. 整数类型 uint / int

  • uint 是无符号整数(不能为负)
  • int 是有符号整数
  • 支持从 8256(每 8 位递增)
uint256 a = 100;
int8 b = -20;

2.布尔类型 bool

bool isOpen = true;

3.地址类型 address

用于存储以太坊地址(例如钱包地址、合约地址)

address owner = msg.sender;

还可以加上 payable 使其可接收 ETH:

  • msg.sender 默认是 address 类型,不能直接收 ETH。
  • 必须用 payable(…) 转换为 payable address,才可以用 .transfer() 接受或 .send() 发送 ETH
payable(msg.sender).transfer(1 ether);

4.字符串 string

string memory name = "Alice";=

📌 注意:字符串不能直接比较是否相等,需要用 keccak256 哈希后比对。

5.字节数组 bytes

  • bytes 是动态字节数组
  • bytes1 ~ bytes32 是定长字节数组
bytes32 hash = keccak256(abi.encodePacked("hello"));
  • abi.encodePacked(…):将参数打包成二进制格式
  • keccak256(…):对打包后的数据进行哈希

👉 结果是一个 bytes32 类型的哈希值

6.枚举 enum

enum Status { Active, Inactive, Pending }
Status public currentStatus;// 设置状态为 Pending
function setPending() public {currentStatus = Status.Pending;
}

7.结构体 struct

struct Person {string name;uint age;
}

8. 映射 mapping

mapping(address => uint256) public balances;

Solidity 中的数据存储位置

Solidity 中的数据存储位置主要分为三种:storagememorycalldata,理解它们对于 gas 优化和正确处理数据非常关键。


🧠 存储类型(关键字)

用于修饰数组(array),结构(struct),字符串(string),字节(bytes),映射(mapping仅storage支持)

存储类型说明生命周期关键字
storage链上的永久存储持久保存默认状态变量
memory临时内存(函数调用期间)函数执行期间有效memory
calldata外部函数参数的只读区域外部调用期间只读calldata

🔸 1. storage(链上存储)

  • 数据保存在区块链上,是持久化的
  • 用于合约中的状态变量或引用链上已有变量进行修改
string public myName = "Alice"; // 状态变量 -> 存储在 storage 中struct Person {string name;uint age;
}Person[] public people;function updatePerson(uint index) public {Person storage person = people[index]; // 引用链上的 personperson.age = 30; // 改变的是链上的数据
}

🔸 2. memory(临时内存)

  • 只在函数调用期间有效
  • 常用于函数内部的临时数据或函数参数
  • 可读写,但函数执行完就被销毁
function getUpper(string memory _name) public pure returns (string memory) {return _name;
}

🔸 3. calldata(只读外部输入)

  • 用于 external 函数参数
  • 只读不可修改
  • 相比 memory 更省 gas
function sayHello(string calldata _name) external pure returns (string memory) {return _name;
}
http://www.dtcms.com/a/399888.html

相关文章:

  • 网站域名找回密码 用户名景区网站的建设公司
  • HTML应用指南:利用GET请求获取全国奥迪授权经销商门店位置信息
  • golang基础语法(三)常量、指针、别名、关键字、运算符、字符串类型转换
  • 普定县建设局网站河北seo平台
  • dify-随笔
  • 免费开店的平台有哪些标题优化方法
  • seo顾问服务公司站长怎么做软文网站
  • 【JNA】JAVA使用JNA调用C++ dll文件(3)编译Linux版本.so文件
  • MyBatis 操作数据库(⼊⻔)
  • [baka编程]初入C++,如何理解新概念——类和对象
  • 竞价网站做推广一款app是如何制作出来的
  • 北京建设银行网站广东官网网站建设平台
  • 淘宝客怎么在网站做推广网站每年续费费用
  • Pyside6 + QML - 多线程01 - QThread 基础(子线程执行耗时任务)
  • 农产品应该建设哪个网站屏幕分辨率 网站开发
  • 摄影作品展示网站flash全站源码山东住建部和城乡建设官网
  • 购物网站功能模块图使用div建设的网站
  • Python爬虫实战:获取上海石油天然气交易中心2025年液化天然气交易数据并做分析
  • springboot项目添加请求url及请求入参日志
  • Spring XML 配置简介
  • 阿里云虚拟主机如何上传网站国外flash网站
  • NXP - 安装后的MCUXpresso IDE里面有所有的支持包,不用另外去下载
  • 公司网站域名更改怎么做做美团旅游网站多少钱
  • 网站建设初稿wordpress 教學
  • 【nvm for windows安装问题】手动安装方案
  • 网站定制开发怎么写网站后台管理系统图片
  • 如何本地搭建网站贵阳市门户网站
  • 网站设计理念怎么写wordpress插件清理
  • 语义精炼技巧生成对抗网络(3)基于Wasserstein GAN 的特征生成
  • 3.算法——遗传算法