diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/050-breaking-changes.rst | 2 | ||||
-rw-r--r-- | docs/abi-spec.rst | 13 | ||||
-rw-r--r-- | docs/installing-solidity.rst | 52 | ||||
-rw-r--r-- | docs/introduction-to-smart-contracts.rst | 2 | ||||
-rw-r--r-- | docs/solidity-by-example.rst | 2 | ||||
-rw-r--r-- | docs/types.rst | 4 |
6 files changed, 44 insertions, 31 deletions
diff --git a/docs/050-breaking-changes.rst b/docs/050-breaking-changes.rst index b49dd1e0..9094000e 100644 --- a/docs/050-breaking-changes.rst +++ b/docs/050-breaking-changes.rst @@ -53,7 +53,7 @@ Semantic and Syntactic Changes This section highlights changes that affect syntax and semantics. -* The functions ``.call()``, ``.delegatecall()`, ``staticcall()``, +* The functions ``.call()``, ``.delegatecall()``, ``staticcall()``, ``keccak256()``, ``sha256()`` and ``ripemd160()`` now accept only a single ``bytes`` argument. Moreover, the argument is not padded. This was changed to make more explicit and clear how the arguments are concatenated. Change every diff --git a/docs/abi-spec.rst b/docs/abi-spec.rst index 7c9d9f9e..f31d9d45 100644 --- a/docs/abi-spec.rst +++ b/docs/abi-spec.rst @@ -102,18 +102,19 @@ them. |:ref:`struct<structs>` |``tuple`` | +-------------------------------+-----------------------------------------------------------------------------+ -Formal Specification of the Encoding -==================================== +Design Criteria for the Encoding +================================ -We will now formally specify the encoding, such that it will have the following -properties, which are especially useful if some arguments are nested arrays: - -Properties: +The encoding is designed to have the following properties, which are especially useful if some arguments are nested arrays: 1. The number of reads necessary to access a value is at most the depth of the value inside the argument array structure, i.e. four reads are needed to retrieve ``a_i[k][l][r]``. In a previous version of the ABI, the number of reads scaled linearly with the total number of dynamic parameters in the worst case. 2. The data of a variable or array element is not interleaved with other data and it is relocatable, i.e. it only uses relative "addresses". + +Formal Specification of the Encoding +==================================== + We distinguish static and dynamic types. Static types are encoded in-place and dynamic types are encoded at a separately allocated location after the current block. **Definition:** The following types are called "dynamic": diff --git a/docs/installing-solidity.rst b/docs/installing-solidity.rst index ba373b8f..9d4be70d 100644 --- a/docs/installing-solidity.rst +++ b/docs/installing-solidity.rst @@ -154,28 +154,18 @@ Gentoo Linux also provides a solidity package that can be installed using ``emer Building from Source ==================== -Clone the Repository --------------------- - -To clone the source code, execute the following command: - -.. code-block:: bash - - git clone --recursive https://github.com/ethereum/solidity.git - cd solidity - -If you want to help developing Solidity, -you should fork Solidity and add your personal fork as a second remote: - -.. code-block:: bash - - git remote add personal git@github.com:[username]/solidity.git +Prerequisites - Linux +--------------------- -Solidity has git submodules. Ensure they are properly loaded: +You need to install the following dependencies for Linux builds of Solidity: -.. code-block:: bash ++-----------------------------------+-------------------------------------------------------+ +| Software | Notes | ++===================================+=======================================================+ +| `Git for Linux`_ | Command-line tool for retrieving source from Github. | ++-----------------------------------+-------------------------------------------------------+ - git submodule update --init --recursive +.. _Git for Linux: https://git-scm.com/download/linux Prerequisites - macOS --------------------- @@ -203,7 +193,7 @@ if you ever want to start again from scratch. Prerequisites - Windows ----------------------- -You will need to install the following dependencies for Windows builds of Solidity: +You need to install the following dependencies for Windows builds of Solidity: +-----------------------------------+-------------------------------------------------------+ | Software | Notes | @@ -238,6 +228,28 @@ in Visual Studio 2017 Build Tools or Visual Studio 2017: .. _Visual Studio 2017: https://www.visualstudio.com/vs/ .. _Visual Studio 2017 Build Tools: https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017 +Clone the Repository +-------------------- + +To clone the source code, execute the following command: + +.. code-block:: bash + + git clone --recursive https://github.com/ethereum/solidity.git + cd solidity + +If you want to help developing Solidity, +you should fork Solidity and add your personal fork as a second remote: + +.. code-block:: bash + + git remote add personal git@github.com:[username]/solidity.git + +Solidity has git submodules. Ensure they are properly loaded: + +.. code-block:: bash + + git submodule update --init --recursive External Dependencies --------------------- diff --git a/docs/introduction-to-smart-contracts.rst b/docs/introduction-to-smart-contracts.rst index 5e841417..f5d5f89e 100644 --- a/docs/introduction-to-smart-contracts.rst +++ b/docs/introduction-to-smart-contracts.rst @@ -33,7 +33,7 @@ Storage The first line simply tells that the source code is written for Solidity version 0.4.0 or anything newer that does not break functionality -(up to, but not including, version 0.5.0). This is to ensure that the +(up to, but not including, version 0.6.0). This is to ensure that the contract is not compilable with a new (breaking) compiler version, where it could behave differently. So-called pragmas are common instructions for compilers about how to treat the source code (e.g. `pragma once <https://en.wikipedia.org/wiki/Pragma_once>`_). diff --git a/docs/solidity-by-example.rst b/docs/solidity-by-example.rst index 0f9a71ab..1bbd42f8 100644 --- a/docs/solidity-by-example.rst +++ b/docs/solidity-by-example.rst @@ -242,7 +242,7 @@ activate themselves. mapping(address => uint) pendingReturns; // Set to true at the end, disallows any change. - // By defaul initialized to `false`. + // By default initialized to `false`. bool ended; // Events that will be emitted on changes. diff --git a/docs/types.rst b/docs/types.rst index 84c448ff..dfe77728 100644 --- a/docs/types.rst +++ b/docs/types.rst @@ -499,9 +499,9 @@ terminate the string literal. Newline only terminates the string literal if it i Hexadecimal Literals -------------------- -Hexademical Literals are prefixed with the keyword ``hex`` and are enclosed in double or single-quotes (``hex"001122FF"``). Their content must be a hexadecimal string and their value will be the binary representation of those values. +Hexadecimal literals are prefixed with the keyword ``hex`` and are enclosed in double or single-quotes (``hex"001122FF"``). Their content must be a hexadecimal string and their value will be the binary representation of those values. -Hexademical Literals behave like String Literals and have the same convertibility restrictions. +Hexadecimal literals behave like string literals and have the same convertibility restrictions. .. index:: enum |