aboutsummaryrefslogtreecommitdiffstats
path: root/docs/units-and-global-variables.rst
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-05-31 00:43:40 +0800
committerchriseth <c@ethdev.com>2016-05-31 00:43:40 +0800
commit4be92c0c39b62547b67ebf75e617abab1ea8b454 (patch)
treee723698a595d6f4f2f07bb0150ea8fef00825dc9 /docs/units-and-global-variables.rst
parenteb57a0c397748fd7fe4f899d5bf8a79290501405 (diff)
parentd0a0e4f3d2f70e7957254987261c10807ed963e4 (diff)
downloaddexon-solidity-4be92c0c39b62547b67ebf75e617abab1ea8b454.tar.gz
dexon-solidity-4be92c0c39b62547b67ebf75e617abab1ea8b454.tar.zst
dexon-solidity-4be92c0c39b62547b67ebf75e617abab1ea8b454.zip
Merge pull request #596 from Denton-L/docs-inline-syntax
Corrected inline syntax in documentation
Diffstat (limited to 'docs/units-and-global-variables.rst')
-rw-r--r--docs/units-and-global-variables.rst78
1 files changed, 39 insertions, 39 deletions
diff --git a/docs/units-and-global-variables.rst b/docs/units-and-global-variables.rst
index f1560d25..8f910c80 100644
--- a/docs/units-and-global-variables.rst
+++ b/docs/units-and-global-variables.rst
@@ -7,23 +7,23 @@ Units and Globally Available Variables
Ether Units
===========
-A literal number can take a suffix of `wei`, `finney`, `szabo` or `ether` to convert between the subdenominations of Ether, where Ether currency numbers without a postfix are assumed to be "wei", e.g. `2 ether == 2000 finney` evaluates to `true`.
+A literal number can take a suffix of ``wei``, ``finney``, ``szabo`` or ``ether`` to convert between the subdenominations of Ether, where Ether currency numbers without a postfix are assumed to be "wei", e.g. ``2 ether == 2000 finney`` evaluates to ``true``.
.. index:: time, seconds, minutes, hours, days, weeks, years
Time Units
==========
-Suffixes of `seconds`, `minutes`, `hours`, `days`, `weeks` and
+Suffixes of ``seconds``, ``minutes``, ``hours``, ``days``, ``weeks`` and
`years` after literal numbers can be used to convert between units of time where seconds are the base
unit and units are considered naively in the following way:
- * `1 == 1 second`
- * `1 minutes == 60 seconds`
- * `1 hours == 60 minutes`
- * `1 days == 24 hours`
- * `1 weeks = 7 days`
- * `1 years = 365 days`
+ * ``1 == 1 second``
+ * ``1 minutes == 60 seconds``
+ * ``1 hours == 60 minutes``
+ * ``1 days == 24 hours``
+ * ``1 weeks = 7 days``
+ * ``1 years = 365 days``
Take care if you perform calendar calculations using these units, because
not every year equals 365 days and not even every day has 24 hours
@@ -50,29 +50,29 @@ namespace and are mainly used to provide information about the blockchain.
Block and Transaction Properties
------------------------------------
- - `block.coinbase` (`address`): current block miner's address
- - `block.difficulty` (`uint`): current block difficulty
- - `block.gaslimit` (`uint`): current block gaslimit
- - `block.number` (`uint`): current block number
- - `block.blockhash` (`function(uint) returns (bytes32)`): hash of the given block - only for 256 most recent blocks
- - `block.timestamp` (`uint`): current block timestamp
- - `msg.data` (`bytes`): complete calldata
- - `msg.gas` (`uint`): remaining gas
- - `msg.sender` (`address`): sender of the message (current call)
- - `msg.sig` (`bytes4`): first four bytes of the calldata (i.e. function identifier)
- - `msg.value` (`uint`): number of wei sent with the message
- - `now` (`uint`): current block timestamp (alias for `block.timestamp`)
- - `tx.gasprice` (`uint`): gas price of the transaction
- - `tx.origin` (`address`): sender of the transaction (full call chain)
+ - ``block.coinbase`` (``address``): current block miner's address
+ - ``block.difficulty`` (``uint``): current block difficulty
+ - ``block.gaslimit`` (``uint``): current block gaslimit
+ - ``block.number`` (``uint``): current block number
+ - ``block.blockhash`` (``function(uint) returns (bytes32)``): hash of the given block - only for 256 most recent blocks
+ - ``block.timestamp`` (``uint``): current block timestamp
+ - ``msg.data`` (``bytes``): complete calldata
+ - ``msg.gas`` (``uint``): remaining gas
+ - ``msg.sender`` (``address``): sender of the message (current call)
+ - ``msg.sig`` (``bytes4``): first four bytes of the calldata (i.e. function identifier)
+ - ``msg.value`` (``uint``): number of wei sent with the message
+ - ``now`` (``uint``): current block timestamp (alias for ``block.timestamp``)
+ - ``tx.gasprice`` (``uint``): gas price of the transaction
+ - ``tx.origin`` (``address``): sender of the transaction (full call chain)
.. note::
- The values of all members of `msg`, including `msg.sender` and
- `msg.value` can change for every **external** function call.
+ The values of all members of ``msg``, including ``msg.sender`` and
+ ``msg.value`` can change for every **external** function call.
This includes calls to library functions.
If you want to implement access restrictions in library functions using
- `msg.sender`, you have to manually supply the value of
- `msg.sender` as an argument.
+ ``msg.sender``, you have to manually supply the value of
+ ``msg.sender`` as an argument.
.. note::
The block hashes are not available for all blocks for scalability reasons.
@@ -84,17 +84,17 @@ Block and Transaction Properties
Mathematical and Cryptographic Functions
----------------------------------------
-`addmod(uint x, uint y, uint k) returns (uint)`:
- compute `(x + y) % k` where the addition is performed with arbitrary precision and does not wrap around at `2**256`.
-`mulmod(uint x, uint y, uint k) returns (uint)`:
- compute `(x * y) % k` where the multiplication is performed with arbitrary precision and does not wrap around at `2**256`.
-`sha3(...) returns (bytes32)`:
+``addmod(uint x, uint y, uint k) returns (uint)``:
+ compute ``(x + y) % k`` where the addition is performed with arbitrary precision and does not wrap around at ``2**256``.
+``mulmod(uint x, uint y, uint k) returns (uint)``:
+ compute ``(x * y) % k`` where the multiplication is performed with arbitrary precision and does not wrap around at ``2**256``.
+``sha3(...) returns (bytes32)``:
compute the Ethereum-SHA-3 hash of the (tightly packed) arguments
-`sha256(...) returns (bytes32)`:
+``sha256(...) returns (bytes32)``:
compute the SHA-256 hash of the (tightly packed) arguments
-`ripemd160(...) returns (bytes20)`:
+``ripemd160(...) returns (bytes20)``:
compute RIPEMD-160 hash of the (tightly packed) arguments
-`ecrecover(bytes32 data, uint8 v, bytes32 r, bytes32 s) returns (address)`:
+``ecrecover(bytes32 data, uint8 v, bytes32 r, bytes32 s) returns (address)``:
recover the address associated with the public key from elliptic curve signature
In the above, "tightly packed" means that the arguments are concatenated without padding.
@@ -106,20 +106,20 @@ This means that the following are all identical::
sha3(6382179)
sha3(97, 98, 99)
-If padding is needed, explicit type conversions can be used: `sha3("\x00\x12")` is the
-same as `sha3(uint16(0x12))`.
+If padding is needed, explicit type conversions can be used: ``sha3("\x00\x12")`` is the
+same as ``sha3(uint16(0x12))``.
-It might be that you run into Out-of-Gas for `sha256`, `ripemd160` or `ecrecover` on a *private blockchain*. The reason for this is that those are implemented as so-called precompiled contracts and these contracts only really exist after they received the first message (although their contract code is hardcoded). Messages to non-existing contracts are more expensive and thus the execution runs into an Out-of-Gas error. A workaround for this problem is to first send e.g. 1 Wei to each of the contracts before you use them in your actual contracts. This is not an issue on the official or test net.
+It might be that you run into Out-of-Gas for ``sha256``, ``ripemd160`` or ``ecrecover`` on a *private blockchain*. The reason for this is that those are implemented as so-called precompiled contracts and these contracts only really exist after they received the first message (although their contract code is hardcoded). Messages to non-existing contracts are more expensive and thus the execution runs into an Out-of-Gas error. A workaround for this problem is to first send e.g. 1 Wei to each of the contracts before you use them in your actual contracts. This is not an issue on the official or test net.
.. index:: this, selfdestruct
Contract Related
----------------
-`this` (current contract's type):
+``this`` (current contract's type):
the current contract, explicitly convertible to :ref:`address`
-`selfdestruct(address)`:
+``selfdestruct(address)``:
destroy the current contract, sending its funds to the given :ref:`address`
Furthermore, all functions of the current contract are callable directly including the current function.