智能合约语言Solidity Solidity API

本文详细介绍了以太坊智能合约编程语言Solidity的API,包括区块和交易属性、ABI编码函数、错误处理、数学及加密功能、地址相关操作。Solidity提供了丰富的内置函数,如blockhash、abi.encode、require、addmod等,便于开发者进行智能合约的编写和错误处理。此外,文章还强调了在使用block.timestamp和blockhash生成随机数时的潜在风险,以及send和transfer的区别与安全性注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链客,专为开发者而生,有问必答!

此文章来自链客区块链技术问答社区,未经允许拒绝转载。

在这里插入图片描述

Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解,如果你还不了解,建议你先看以太坊是什么?

Solidity API 主要表现为Solidity 内置的特殊的变量及函数,他们存在于全局命名空间里,主要分为以下几类:

有关区块和交易的属性

ABI编码函数

有关错误处理

有关数学及加密功能

地址相关

合约相关

下面详细讲解下

区块和交易的属性(Block And Transaction Properties)

用来提供一些区块链当前的信息。

blockhash(uint blockNumber) returns (bytes32):返回给定区块号的哈希值,只支持最近256个区块,且不包含当前区块。

block.coinbase (address): 当前块矿工的地址。

block.difficulty (uint):当前块的难度。

block.gaslimit (uint):当前块的gaslimit。

block.number (uint):当前区块的块号。

block.timestamp (uint): 当前块的Unix时间戳(从1970/1/1 00:00:00 UTC开始所经过的秒数)

gasleft() (uint256): 获取剩余gas。

msg.data (bytes): 完整的调用数据(calldata)。

msg.gas (uint): 当前还剩的gas(弃用)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值