almost finished with eth docs

This commit is contained in:
Fabian Vogelsteller 2017-02-07 17:31:40 +01:00
parent 091d282f2a
commit 72ffd3e118
No known key found for this signature in database
GPG Key ID: E51EADA77F1A4124
2 changed files with 313 additions and 205 deletions

View File

@ -1724,82 +1724,17 @@ Returns
> "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" > "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056"
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
### web3.shh web3.eth.getWork
=====================
[Whisper Overview](https://github.com/ethereum/wiki/wiki/Whisper-Overview)
-------
Example
-------
.. code-block:: javascript .. code-block:: javascript
var shh = web3.shh; web3.eth.getWork([callback])
Gets work for miners to mine on. Returns the hash of the current block, the seedHash, and the boundary condition to be met ("target").
------------------------------------------------------------------------------
web3.shh.post
=====================
web3.shh.post(object [, callback])
This method should be called, when we want to post whisper message to the network.
----------
Parameters
----------
1. ``Object`` - The post object:
- ``from``: ``String``, 60 Bytes HEX - (optional) The identity of the sender.
- ``to``: ``String``, 60 Bytes HEX - (optional) The identity of the receiver. When present whisper will encrypt the message so that only the receiver can decrypt it.
- ``topics``: `Array of Strings` - Array of topics ``Strings``, for the receiver to identify messages.
- ``payload``: ``"String|Number|Object"`` - The payload of the message. Will be autoconverted to a HEX string before.
- ``priority``: ``Number`` - The integer of the priority in a rang from ... (?).
- ``ttl``: ``Number`` - integer of the time to live in seconds.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``Boolean`` - returns ``true`` if the message was send, otherwise ``false``.
-------
Example
-------
.. code-block:: javascript
var identity = web3.shh.newIdentity();
var topic = 'example';
var payload = 'hello whisper world!';
var message = {
from: identity,
topics: [topic],
payload: payload,
ttl: 100,
workToProve: 100 // or priority TODO
};
web3.shh.post(message);
------------------------------------------------------------------------------
web3.shh.newIdentity
=====================
web3.shh.newIdentity([callback])
Should be called to create new identity.
---------- ----------
Parameters Parameters
@ -1807,14 +1742,57 @@ Parameters
1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. 1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``Promise`` returns ``Array`` - the mining work with the following structure:
- ``String`` 32 Bytes - at **index 0**: current block header pow-hash
- ``String`` 32 Bytes - at **index 1**: the seed hash used for the DAG.
- ``String`` 32 Bytes - at **index 2**: the boundary condition ("target"), 2^256 / difficulty.
-------
Example
-------
.. code-block:: javascript
web3.eth.getWork();
.then(console.log);
> [
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"0x5EED00000000000000000000000000005EED0000000000000000000000000000",
"0xd1ff1c01710000000000000000000000d1ff1c01710000000000000000000000"
]
------------------------------------------------------------------------------
web3.eth.submitWork
=====================
.. code-block:: javascript
web3.eth.submitWork(nonce, powHash, digest, [callback])
Used for submitting a proof-of-work solution.
----------
Parameters
----------
1. ``String`` 8 Bytes: The nonce found (64 bits)
2. ``String`` 32 Bytes: The header's pow-hash (256 bits)
3. ``String`` 32 Bytes: The mix digest (256 bits)
4. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
------- -------
Returns Returns
------- -------
``Promise`` returns ``Boolean`` - Returns ``TRUE`` if the provided solution is valid, otherwise false.
``String`` - A new identity HEX string.
------- -------
Example Example
@ -1823,141 +1801,18 @@ Example
.. code-block:: javascript .. code-block:: javascript
var identity = web3.shh.newIdentity(); web3.eth.submitWork([
console.log(identity); // "0xc931d93e97ab07fe42d923478ba2465f283f440fd6cabea4dd7a2c807108f651b7135d1d6ca9007d5b68aa497e4619ac10aa3b27726e1863c1fd9b570d99bbaf" "0x0000000000000001",
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"0xD1FE5700000000000000000000000000D1FE5700000000000000000000000000"
]);
.then(console.log);
> true
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
web3.shh.hasIdentity // TODO fabian is here
=====================
web3.shh.hasIdentity(identity, [callback])
Should be called, if we want to check if user has given identity.
----------
Parameters
----------
1. ``String`` - The identity to check.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``Boolean`` - returns ``true`` if the identity exists, otherwise ``false``.
-------
Example
-------
.. code-block:: javascript
var identity = web3.shh.newIdentity();
var result = web3.shh.hasIdentity(identity);
console.log(result); // true
var result2 = web3.shh.hasIdentity(identity + "0");
console.log(result2); // false
------------------------------------------------------------------------------
web3.shh.newGroup
=====================
-------
Example
-------
.. code-block:: javascript
// TODO: not implemented yet
------------------------------------------------------------------------------
web3.shh.addToGroup
=====================
-------
Example
-------
.. code-block:: javascript
// TODO: not implemented yet
------------------------------------------------------------------------------
web3.shh.filter
=====================
.. code-block:: javascript
var filter = web3.shh.filter(options)
// watch for changes
filter.watch(function(error, result){
if (!error)
console.log(result);
});
Watch for incoming whisper messages.
----------
Parameters
----------
1. ``Object`` - The filter options:
* ``topics``: `Array of Strings` - Filters messages by this topic(s). You can use the following combinations:
- `['topic1', 'topic2'] == 'topic1' && 'topic2'`
- `['topic1', ['topic2', 'topic3']] == 'topic1' && ('topic2' || 'topic3')`
- `[null, 'topic1', 'topic2'] == ANYTHING && 'topic1' && 'topic2'` -> ``null`` works as a wildcard
* ``to``: Filter by identity of receiver of the message. If provided and the node has this identity, it will decrypt incoming encrypted messages.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
##### Callback return
``Object`` - The incoming message:
- ``from``: ``String``, 60 Bytes - The sender of the message, if a sender was specified.
- ``to``: ``String``, 60 Bytes - The receiver of the message, if a receiver was specified.
- ``expiry``: ``Number`` - Integer of the time in seconds when this message should expire (?).
- ``ttl``: ``Number`` - Integer of the time the message should float in the system in seconds (?).
- ``sent``: ``Number`` - Integer of the unix timestamp when the message was sent.
- ``topics``: `Array of String` - Array of ``String`` topics the message contained.
- ``payload``: ``String`` - The payload of the message.
- ``workProved``: ``Number`` - Integer of the work this message required before it was send (?).
------------------------------------------------------------------------------
web3.eth.sendIBANTransaction
=====================
.. code-block:: javascript
var txHash = web3.eth.sendIBANTransaction('0x00c5496aee77c1ba1f0854206a26dda82a81d6d8', 'XE81ETHXREGGAVOFYORK', 0x100);
Sends IBAN transaction from user account to destination IBAN address.
----------
Parameters
----------
- ``string`` - address from which we want to send transaction
- ``string`` - IBAN address to which we want to send transaction
- ``value`` - value that we want to send in IBAN transaction
------------------------------------------------------------------------------
web3.eth.iban web3.eth.iban
===================== =====================
@ -2014,7 +1869,7 @@ var valid = web3.eth.iban.isValid("XE81ETHXREGGAVOFYORK");
console.log(valid); // true console.log(valid); // true
var valid2 = web3.eth.iban.isValid("XE82ETHXREGGAVOFYORK"); var valid2 = web3.eth.iban.isValid("XE82ETHXREGGAVOFYORK");
console.log(valid2); // false, cause checksum is incorrect console.log(valid2); // false, because checksum is incorrect
var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK"); var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var valid3 = i.isValid(); var valid3 = i.isValid();

253
docs/web3-shh.rst Normal file
View File

@ -0,0 +1,253 @@
========
web3.shh
========
TODO: add instantiation code with web3 and Shh package
------------------------------------------------------------------------------
setProvider
=====================
.. code-block:: javascript
web3.eth.setProvider(myProvider)
When called changes the current provider for all modules.
----------
Parameters
----------
1. ``Object`` - **myProvider**: :ref:`a valid provider <web3-providers>`.
-------
Returns
-------
``Boolean``
-------
Example
-------
.. code-block:: javascript
eth.setProvider(new eth.providers.HttpProvider('http://localhost:8545'));
------------------------------------------------------------------------------
### web3.shh
[Whisper Overview](https://github.com/ethereum/wiki/wiki/Whisper-Overview)
-------
Example
-------
.. code-block:: javascript
var shh = web3.shh;
------------------------------------------------------------------------------
web3.shh.post
=====================
web3.shh.post(object [, callback])
This method should be called, when we want to post whisper message to the network.
----------
Parameters
----------
1. ``Object`` - The post object:
- ``from``: ``String``, 60 Bytes HEX - (optional) The identity of the sender.
- ``to``: ``String``, 60 Bytes HEX - (optional) The identity of the receiver. When present whisper will encrypt the message so that only the receiver can decrypt it.
- ``topics``: `Array of Strings` - Array of topics ``Strings``, for the receiver to identify messages.
- ``payload``: ``"String|Number|Object"`` - The payload of the message. Will be autoconverted to a HEX string before.
- ``priority``: ``Number`` - The integer of the priority in a rang from ... (?).
- ``ttl``: ``Number`` - integer of the time to live in seconds.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``Boolean`` - returns ``true`` if the message was send, otherwise ``false``.
-------
Example
-------
.. code-block:: javascript
var identity = web3.shh.newIdentity();
var topic = 'example';
var payload = 'hello whisper world!';
var message = {
from: identity,
topics: [topic],
payload: payload,
ttl: 100,
workToProve: 100 // or priority TODO
};
web3.shh.post(message);
------------------------------------------------------------------------------
web3.shh.newIdentity
=====================
web3.shh.newIdentity([callback])
Should be called to create new identity.
----------
Parameters
----------
1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``String`` - A new identity HEX string.
-------
Example
-------
.. code-block:: javascript
var identity = web3.shh.newIdentity();
console.log(identity); // "0xc931d93e97ab07fe42d923478ba2465f283f440fd6cabea4dd7a2c807108f651b7135d1d6ca9007d5b68aa497e4619ac10aa3b27726e1863c1fd9b570d99bbaf"
------------------------------------------------------------------------------
web3.shh.hasIdentity
=====================
web3.shh.hasIdentity(identity, [callback])
Should be called, if we want to check if user has given identity.
----------
Parameters
----------
1. ``String`` - The identity to check.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
-------
Returns
-------
``Boolean`` - returns ``true`` if the identity exists, otherwise ``false``.
-------
Example
-------
.. code-block:: javascript
var identity = web3.shh.newIdentity();
var result = web3.shh.hasIdentity(identity);
console.log(result); // true
var result2 = web3.shh.hasIdentity(identity + "0");
console.log(result2); // false
------------------------------------------------------------------------------
web3.shh.newGroup
=====================
-------
Example
-------
.. code-block:: javascript
// TODO: not implemented yet
------------------------------------------------------------------------------
web3.shh.addToGroup
=====================
-------
Example
-------
.. code-block:: javascript
// TODO: not implemented yet
------------------------------------------------------------------------------
web3.shh.filter
=====================
.. code-block:: javascript
var filter = web3.shh.filter(options)
// watch for changes
filter.watch(function(error, result){
if (!error)
console.log(result);
});
Watch for incoming whisper messages.
----------
Parameters
----------
1. ``Object`` - The filter options:
* ``topics``: `Array of Strings` - Filters messages by this topic(s). You can use the following combinations:
- `['topic1', 'topic2'] == 'topic1' && 'topic2'`
- `['topic1', ['topic2', 'topic3']] == 'topic1' && ('topic2' || 'topic3')`
- `[null, 'topic1', 'topic2'] == ANYTHING && 'topic1' && 'topic2'` -> ``null`` works as a wildcard
* ``to``: Filter by identity of receiver of the message. If provided and the node has this identity, it will decrypt incoming encrypted messages.
2. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second.
##### Callback return
``Object`` - The incoming message:
- ``from``: ``String``, 60 Bytes - The sender of the message, if a sender was specified.
- ``to``: ``String``, 60 Bytes - The receiver of the message, if a receiver was specified.
- ``expiry``: ``Number`` - Integer of the time in seconds when this message should expire (?).
- ``ttl``: ``Number`` - Integer of the time the message should float in the system in seconds (?).
- ``sent``: ``Number`` - Integer of the unix timestamp when the message was sent.
- ``topics``: `Array of String` - Array of ``String`` topics the message contained.
- ``payload``: ``String`` - The payload of the message.
- ``workProved``: ``Number`` - Integer of the work this message required before it was send (?).