mirror of
https://github.com/status-im/subspace-docs.git
synced 2025-02-08 02:43:25 +00:00
feat: updated docs and API
This commit is contained in:
parent
140b208d12
commit
91fe35e132
@ -42,14 +42,17 @@
|
||||
</div>
|
||||
<div class="code-content">
|
||||
|
||||
<div class="language-js line-numbers-mode"><pre class="language-js"><code>Contract<span class="token punctuation">.</span><span class="token function">trackBalance</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">subscribe</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">balance</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"ETH balance is "</span><span class="token punctuation">,</span> balance<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
<div class="language-js line-numbers-mode"><pre class="language-js"><code><span class="token keyword">const</span> address <span class="token operator">=</span> <span class="token string">"0x0001020304050607080900010203040506070809"</span><span class="token punctuation">;</span>
|
||||
|
||||
Contract<span class="token punctuation">.</span><span class="token function">trackBalance</span><span class="token punctuation">(</span><span class="token string">"0x744d70fdbe2ba4cf95131626614a1763df805b9e"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">subscribe</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">balance</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"SNT balance is "</span><span class="token punctuation">,</span> balance<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div>
|
||||
subspace<span class="token punctuation">.</span><span class="token function">trackBalance</span><span class="token punctuation">(</span>address<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">subscribe</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">balance</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"ETH balance is "</span><span class="token punctuation">,</span> balance<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
|
||||
subspace<span class="token punctuation">.</span><span class="token function">trackBalance</span><span class="token punctuation">(</span>address, <span class="token string">"0x744d70fdbe2ba4cf95131626614a1763df805b9e"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">subscribe</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">balance</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"SNT balance is "</span><span class="token punctuation">,</span> balance<span class="token punctuation">)</span>
|
||||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
|
||||
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -94,8 +97,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
}
|
||||
export default {};
|
||||
</script>
|
||||
|
||||
<style lang="css" scoped>
|
||||
@ -103,7 +105,8 @@ export default {
|
||||
fill: url(#linear-gradient-404);
|
||||
}
|
||||
|
||||
.cls-2, .cls-6 {
|
||||
.cls-2,
|
||||
.cls-6 {
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
@ -171,7 +174,8 @@ export default {
|
||||
fill: url(#linear-gradient-404-9);
|
||||
}
|
||||
|
||||
.cls-18, .cls-19 {
|
||||
.cls-18,
|
||||
.cls-19 {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
@ -187,11 +191,16 @@ export default {
|
||||
fill: #2d2d2d;
|
||||
}
|
||||
|
||||
.cls-22, .cls-23, .cls-27, .cls-28, .cls-29 {
|
||||
.cls-22,
|
||||
.cls-23,
|
||||
.cls-27,
|
||||
.cls-28,
|
||||
.cls-29 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.cls-22, .cls-23 {
|
||||
.cls-22,
|
||||
.cls-23 {
|
||||
stroke: #ecf4f8;
|
||||
stroke-linecap: round;
|
||||
stroke-width: 0.96px;
|
||||
@ -201,7 +210,10 @@ export default {
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
|
||||
.cls-23, .cls-27, .cls-28, .cls-29 {
|
||||
.cls-23,
|
||||
.cls-27,
|
||||
.cls-28,
|
||||
.cls-29 {
|
||||
stroke-miterlimit: 10;
|
||||
}
|
||||
|
||||
@ -221,7 +233,9 @@ export default {
|
||||
stroke: #fbed21;
|
||||
}
|
||||
|
||||
.cls-27, .cls-28, .cls-29 {
|
||||
.cls-27,
|
||||
.cls-28,
|
||||
.cls-29 {
|
||||
stroke-width: 8px;
|
||||
}
|
||||
|
||||
|
50
api.md
50
api.md
@ -20,7 +20,55 @@ Initializes **Subspace**
|
||||
### `close()`
|
||||
Dispose and perform the cleanup necessary to remove the internal subscriptions and interval timers created by **Subspace** during its normal execution.
|
||||
|
||||
## Data tracking methods
|
||||
### `contract(instance|{abi,address})`
|
||||
Adds a `track` method to the web3 contract objects. You can obtain this functionality by passing a `web3.eth.Contract` instance, or the `abi` and `address` of your contract
|
||||
|
||||
**Returns**
|
||||
`web3.eth.Contract` object enhanced with `.track()` functions for methods and events.
|
||||
|
||||
## Contract methods
|
||||
|
||||
### `myContract.events.MyEvent.track([options])`
|
||||
Track a contract event.
|
||||
|
||||
**Parameters**
|
||||
1. `options` - `Object` (optional): web3 filter options object to limit the number of events based on a block number range, or indexed filters
|
||||
- `filter` - `Object` (optional): Lets you filter events by indexed parameters, e.g. `{filter: {myNumber: [12,13]}}` means all events where `"myNumber"` is `12` or `13`.
|
||||
- `fromBlock` - `Number` (optional): The block number from which to get events on.
|
||||
- `toBlock` - `Number` (optional): The block number to get events up to (Defaults to `"latest"`)
|
||||
- `topics` - `Array` (optional): This allows you to manually set the topics for the event filter. If given the filter property and event signature, (`topic[0]`) will not be set automatically.
|
||||
|
||||
**Returns**
|
||||
`RxJS Observable` which will stream the event `returnValues`.
|
||||
|
||||
|
||||
### `myContract.methods.myMethod([param1[, ...]]).track([callOptions])`
|
||||
Track a constant function / contract state variable on each block mined, or depending on the `callInterval` option used during **Subspace** initialization.
|
||||
|
||||
**Parameters**
|
||||
1. `callOptions` - `Object` (optional): The options used for calling.
|
||||
- `from` - `String` (optional): The address the call “transaction” should be made from.
|
||||
- `gasPrice` - `String` (optional): The gas price in wei to use for this call “transaction”.
|
||||
- `gas` - `Number` (optional): The maximum gas provided for this call “transaction” (gas limit).
|
||||
|
||||
**Returns**
|
||||
`RxJS Observable` which will stream the function / variable values. Data type will depend on the contract function invoked.
|
||||
|
||||
|
||||
### `myContract.trackBalance(address [, tokenAddress])`
|
||||
Track a contract's balance changes for an address on each block mined, or depending on the `callInterval` option used during **Subspace** initialization.
|
||||
|
||||
**Parameters**
|
||||
1. `address` - `String`: The address to get the balance of.
|
||||
2. `tokenAddress` - `String` (optional): If you want to track the balance for an ERC20 contract, here you can specify the token address. Otherwise, Only ETH balances will be returned.
|
||||
|
||||
**Returns**
|
||||
`RxJS Observable` which will stream a string containing the address balance.
|
||||
|
||||
|
||||
## Low level API for data tracking
|
||||
|
||||
These are used in case you don't want to decorate your web3 contract objects, or if you want to track the balance for an specific address.
|
||||
|
||||
### `trackEvent(contractObject, eventName [, options])`
|
||||
Track a contract event.
|
||||
|
Loading…
x
Reference in New Issue
Block a user