# 标准库
在使用Gnolang
语言开发智能合约的过程中,开发人员可以使用GnoVM
提供的核心标准库stdlib
。
导入方法:
import "std"
1
# std.AssertOriginCall
func AssertOriginCall()
1
检查合约是否直接调用,否则panic
# std.IsOriginCall
func IsOriginCall() bool
1
检查合约是否直接调用,是返回true
,否则返回false
。
# std.Hash
func Hash(bz []byte) [20]byte
1
计算哈希
# std.CurrentRealmPath
func CurrentRealmPath() string
1
获取当前Realm的路径
# std.GetChainID
func GetChainID() string
1
获取链id
# std.GetHeight
func GetHeight() int64
1
获取区块高度
# std.GetOrigSend
func GetOrigSend() Coins
1
获取当前交易的代币发送信息
# std.GetOrigCaller
func GetOrigCaller() Address
1
获取当前交易发起用户地址
# std.GetOrigPkgAddr
func GetOrigPkgAddr() Address
1
获取当前package地址
# std.GetCallerAt
func GetCallerAt(n int) Address
1
获取调用堆栈中索引为n的调用者地址
# std.GetBanker
func GetBanker(bankerType BankerType) Banker
1
获取Banker, 其中BankerType取值如下:
- BankerTypeReadonly
- BankerTypeOrigSend
- BankerTypeRealmSend
- BankerTypeRealmIssue
# std.GetTimestamp
func GetTimestamp() Time
1
获取时间戳
# std.FormatTimestamp
func FormatTimestamp(timestamp Time, format string) string
1
格式化时间戳
# std.EncodeBech32
func EncodeBech32(prefix string, bytes [20]byte) Address
1
输入前缀和哈希值编码成Bech32格式的地址
# std.DecodeBech32
func DecodeBech32(addr Address) (prefix string, bytes [20]byte, ok bool)
1
解码Bech32格式地址
# std.DerivePkgAddr
func DerivePkgAddr(pkgPath string) Address
1
输入package路径,获取对应的地址
← 客户端