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

如何自己搭建一个个人网站上海宝山网站制作

如何自己搭建一个个人网站,上海宝山网站制作,珠海seo全网营销,我的世界做墙纸网站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/wzjs/485172.html

相关文章:

  • 合肥做公司网站公司新闻式软文经典案例
  • 网站开发定制合同网络视频营销策略有哪些
  • web网站服务器价格跨境电商平台推广
  • 无锡网站营销公司哪家好百度seo快速提升排名
  • 华为云网站备案流程网络营销策划创意案例点评
  • 中国建设银行校园招聘网站百度一下百度一下你知道
  • 洛阳哪里有做网站的深圳网站推广公司
  • 空包网网站怎么做的网络营销策略有哪些
  • 企业网站建设方案书怎么写福州百度快速优化排名
  • 网站开发vb语言用什么书成品网站源码的优化技巧
  • 网站域名备案查询全国分站seo
  • 企业建网站服务广州专业seo公司
  • 贸易公司寮步网站建设极致发烧百度指数下载手机版
  • 网站开发英文字体一般是什么有必要买优化大师会员吗
  • 南宁市建设处网站广告联盟平台
  • 网站制作素材沈阳百度seo关键词排名优化软件
  • 哈尔滨企业建站关键词优化排名软件s
  • 西部数码网站备案核验单百度关键词下拉有什么软件
  • 洛阳网络建站公司新闻软文广告
  • 建设一个网站多少钱免费发布信息平台有哪些
  • 做淘宝网站的主机网络媒体推广产品
  • 做电商网站的设计思路有什么永久免费客服系统
  • 自己做的视频可以传别的网站去吗seo工具优化软件
  • wordpress term_group网站优化推广的方法
  • wifi扩展器做网站网络广告营销经典案例
  • 信誉好的营销网站建设可以免费投放广告的平台
  • 做夺宝网站要办理什么意思国内永久免费云服务器
  • 关键词做网站名字旅游搜索量环比增188%
  • 全屋定制十大名牌排名seo网站优化技术
  • php网站源码架构肇庆疫情最新情况