Solidity → Sway 的常用项目快速对照表
- block.timestamp
- msg.sender
- 等等
- 如果这里缺少某些内容,你可以在 Sway 标准库这里找到
sway
contract;
dep interface;
use interface::*;
use std::{
identity::Identity,
block::{ height, timestamp },
auth::msg_sender,
constants::*,
u128::U128
};
impl SolidityCheatsheet for Contract {
fn get_blocknumber() -> u64 {
return height(); // block.number 的等价物
}
fn get_blocktime() -> u64 {
return timestamp(); // block.timestamp 的等价物
}
fn get_msg_sender() -> Identity{
return msg_sender().unwrap(); // msg.sender 的等价物
}
fn get_u128_number() -> U128 {
/* 在 Sway 中没有 uint128,所以它由两个 64 位组件组成
在库中,Sway 团队还提供了完整的操作列表
如指数、加法、减法、乘法、除法、平方根等
操作列表位于此处 https://github.com/FuelLabs/sway/blob/master/sway-lib-std/src/u128.sw
请注意,还有一个由四个 64 位组件组成的 uint256 的等价物
*/
return U128::from((0, 12)) + U128::from((0, 12)); // uint128 的等价物
}
}