ethereum(以太坊)(九)--global(全局函数)

pragma solidity ^0.4.0;

contract modifierTest{
    bytes32 public blockhash;
    address public coinbase;
    uint public difficulty;
    uint public gaslimit;
    uint public blockNum;
    uint public timestamp;
    bytes public calldata1;
    uint public gas;
    address public sender;
    bytes4 public sig;
    uint public msgValue;
    uint public now1;
    uint public gasPrice;
    address public txOrigin;

    function tt(){
        //给定区块号的哈希值,只支持最近256个区块,且不包含当前区块
        blockhash = block.blockhash(block.number -1);
        coinbase  = block.coinbase;//当前块矿工的地址
        difficulty = block.difficulty;//当前块的难度
        gaslimit = block.gaslimit;//当前块的gaslimit
        blockNum = block.number; //当前区块的块号
        timestamp = block.timestamp;//当前块的时间戳==now
        calldata1 = msg.data;//完整的调用数据: 0x1e36169e
        gas = msg.gas;//当前还剩下的gas
        sender = msg.sender;//当前调用发起人的地址: 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c
        sig = msg.sig;//调用数据的前4个字节(函数标识符): 0x1e36169e
        msgValue = msg.value;//这个消息所携带的货币量,单位wei
        now1 = now;
        gasPrice = tx.gasprice;//交易的gas价格
        txOrigin = tx.origin;//交易的发送者(完整的调用链): 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c
    }
}
直接调用,后面无需()

原文地址:https://www.cnblogs.com/eilinge/p/9964167.html

时间: 2024-10-09 05:31:19

ethereum(以太坊)(九)--global(全局函数)的相关文章

ethereum(以太坊)(基础)--容易忽略的坑(一)

pragma solidity ^0.4.0; contract base{ address public _owner=msg.sender; uint _a; string internal _b ; uint private _c; //uint external _d;ParserError: Expected identifier but got 'external' function base() { _a =10; //uint _d public;Expected ';' but

ethereum(以太坊)(五)--Bool

pragma solidity ^0.4.0; contract Bool{ uint num1 = 100; uint num2 = 200; bool _c = true; // && == function yuf() constant returns(bool){ return num1 == num2 && _c; //false } // || != function huof() constant returns(bool){ return num1 != n

ethereum(以太坊)(六)--整型(int)

/* uint8 uint16 ...uint256 int8 int16 int24 ..int256 uint => uint256 int => int256 int8 有符号 +1 ,-3 uint 无符号 1,2 int8 8(位) 1 111 1111 ~ 0 111 1111 - (1+2+4+8+16+32+64) ~ + (1+2+4+8+16+32+64) -127 ~ 127 255(127*2+0) uint8 0000 0000 ~ 1111 1111 (0~255)

ethereum(以太坊)(十)--字节数组

pragma solidity ^0.4.0; contract byte1{ /* 固定大小字节数组(Fixed-size byte arrays) 固定大小字节数组可以通过bytes1,bytes2...bytes32声明,byte=byte1 bytes1 只能存储1个字节,也就是二进制的8位内容 //一个字节=8位2进制/一个字母/符号/(1/3汉字) bytes2 只能存储2个字节,也就是二进制的8*2位内容 bytes32 只能存储32个字节,也就是二进制的8*32=256位内容 十

ethereum(以太坊)(基础)--容易忽略的坑(二)

pragma solidity ^0.4.0; contract EMath{ string public _a="lin"; function f() public{ modify(_a); } //function modify(string storage name) private{ function modify(string memory name) private{ //string storage c = name;Type string memory is not i

ethereum(以太坊)(十四)--Delete

pragma solidity ^0.4.10; contract Delete{ /* delete可用于任何变量(除mapping),将其设置成默认值 bytes/string:删除所有元素,其长度变为0 bytes32:重置所有索引的值 mapping:什么都不会发生 mapping(key=>value)中的key:删除与该键相关的值 */ string public str1 ='nihao'; function deletstr() public{ delete str1; } fu

[中文] 以太坊(Ethereum )白皮书

以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译|巨蟹 .少平 译者注|中文读者可以到以太坊爱好者社区(www.ethfans.org)获取最新的以太坊信息. 当中本聪在2009年1月启动比特币区块链时,他同时向世界引入了两种未经测试的革命性的新概念.第一种就是比特币(bitcoin),一种去中心化的点对点的网上货币,在没有任何资产担保.内在价值或者中心发行者的情况下维持着价值.到目前为止,比特币已经吸引了大量的公众注意力,就政治方面而言它是一种没有中央银行的货币并且有着剧烈

(转)写文章 以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘

什么是以太坊(Ethereum) 以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台.像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护.与比特币仅提供了有限功能的脚本不同,以太坊提供了一个"图灵完备"的虚拟机,称为以太坊虚拟机(Ethereum Virtual Machine),简称EVM,用户可以在EVM上创建智能合约(Smart Contract).以太坊平台中的通用货币为以太币(Ether),简称ETH,以太币可用于账号间的

以太坊白皮书解析

目录 导读概念 历史沿革 中本聪的理念 作为状态转换系统的比特币 挖矿 默克尔树 其它的区块链应用 脚本 以太坊 以太坊账户 消息和交易 以太坊状态转换函数 代码执行(EVM层) 区块链和挖矿 以太坊应用举例 令牌系统 金融衍生品和价值稳定的货币 身份和信誉系统 去中心化存储 去中心化自治组织( DAO) 进一步的应用 相关杂项 改进版幽灵协议的实施 费用 计算和图灵完备 货币和发行 发行分解 挖矿的中心化 扩展性 综述与结论 综述 结论 导读概念 以太坊中常见的概念: 块:块是存储在区块链中的