mirror of https://github.com/nucypher/nucypher.git
commit
b99f19d459
|
@ -4,7 +4,7 @@
|
|||
## Contract Listing
|
||||
|
||||
* `NuCypherToken` ERC20 token contract
|
||||
* `MinersEscrow` Holds Ursula's stake, stores information about Ursula's activity and assigns a reward for participating in the NuCypher network. (The `Issuer` contract is part of the `MinersEscrow`)
|
||||
* `MinersEscrow` Holds Ursula's stake, stores information about Ursula's activity, and assigns a reward for participating in the NuCypher network. (The `Issuer` contract is part of the `MinersEscrow`)
|
||||
* `PolicyManager` Holds a policy's fee and distributes fee by periods
|
||||
* `Upgradeable` Base contract for [upgrading](upgradeable_proxy_contracts)
|
||||
* `Dispatcher` Proxy to other contracts. This provides upgrading of the `MinersEscrow` and `PolicyManager` contracts
|
||||
|
@ -41,8 +41,8 @@ Alice can choose miners by herself ("handpicked") or by using `MinersEscrow.samp
|
|||
* Minimum number of periods during which tokens are locked
|
||||
This method will return only active miners.
|
||||
|
||||
In order to place the fee for a policy, Alice calls the method `PolicyManager.createPolicy(bytes16, uint16, uint256, address[])`
|
||||
, specifying the miner's addresses, the policy ID (off-chain generation), the policy duration in periods, and the first period's reward.
|
||||
In order to place the fee for a policy, Alice calls the method `PolicyManager.createPolicy(bytes16, uint16, uint256, address[])`,
|
||||
specifying the miner's addresses, the policy ID (off-chain generation), the policy duration in periods, and the first period's reward.
|
||||
Payment should be added to the transaction in ETH and the amount is `firstReward * miners.length + rewardRate * periods * miners.length`.
|
||||
The reward rate must be greater than or equal to the minimum reward for each miner in the list. The first period's reward is not refundable, and can be zero.
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ Interaction scheme
|
|||
:target: ../.static/img/Dispatcher.png
|
||||
|
||||
|
||||
Dispatcher - proxy contract that redirects requests to the target address.
|
||||
`Dispatcher` - a proxy contract that redirects requests to the target address.
|
||||
It also holds its own values (owner and target address) and stores the values of the target contract, but not explicitly.
|
||||
The client should use the resulting contract or interface ABI while sending request to the `Dispatcher` address.
|
||||
The contract's owner can change the target address by using the `Dispatcher`'s ABI.
|
||||
|
|
|
@ -190,12 +190,12 @@ See the *“System Service Method”* section below.
|
|||
|
||||
Stage C | Run the Node (System Service Method)
|
||||
----------------------------------------------
|
||||
*NOTE - This is an alternative to the “Interactive Method”.*
|
||||
*NOTE - This is an alternative to the “Interactive Method” and assumes you're using systemd.*
|
||||
|
||||
|
||||
1. Create Ursula System Service
|
||||
|
||||
Use this template to create a file named ursula.service and place it in */etc/systemd/system/*.
|
||||
Use this template to create a file named *ursula.service* and place it in */etc/systemd/system/*.
|
||||
|
||||
.. code::
|
||||
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
## System Requirements
|
||||
|
||||
* At least 1 GB of RAM is required for key derivation functionality (SCrypt).
|
||||
* We have tested `nucypher` with windows, mac OS, and linux (Linux is recommended).
|
||||
* We have tested `nucypher` with Windows, Mac OS, and GNU/Linux (GNU/Linux is recommended).
|
||||
|
||||
|
||||
## System Dependencies
|
||||
|
||||
If you don’t already have it, install Python;.
|
||||
If you don’t already have it, install Python.
|
||||
As of January 2019, we are working with Python 3.6, 3.7, and 3.8.
|
||||
|
||||
* Official Python Website: <https://www.python.org/downloads/>
|
||||
|
@ -31,7 +31,7 @@ We recommend installing nucypher with either `pip` or `pipenv`
|
|||
### Standard Pip Installation
|
||||
|
||||
In order to isolate global system dependencies from nucypher-specific dependencies, we *highly* recommend
|
||||
using `python-vitrualenv` to install `nucypher` inside a dedicated virtual environment.
|
||||
using `python-virtualenv` to install `nucypher` inside a dedicated virtual environment.
|
||||
|
||||
For full documentation on virtualenv see: <https://virtualenv.pypa.io/en/latest/>
|
||||
|
||||
|
@ -83,7 +83,7 @@ Here is the recommended procedure for setting up `nucypher` in this fashion:
|
|||
1. Install Application code with Pipenv
|
||||
|
||||
Ensure you have `pipenv` installed (See full documentation for pipenv here: [Pipenv Documentation](https://pipenv.readthedocs.io/en/latest/)).
|
||||
Then, to install nucypher with pipenv run:
|
||||
Then to install nucypher with pipenv, run:
|
||||
|
||||
```bash
|
||||
$ pipenv install nucypher
|
||||
|
@ -135,7 +135,7 @@ $ pipenv shell
|
|||
|
||||
If this is successful, your terminal command prompt will be prepended with `(nucypher)`
|
||||
|
||||
Install the solidity compiler:
|
||||
Install the Solidity compiler (solc):
|
||||
|
||||
```bash
|
||||
$(nucypher) pipenv run install-solc
|
||||
|
@ -152,7 +152,7 @@ $ ./scripts/install_solc.sh
|
|||
|
||||
## Systemd Service Installation
|
||||
|
||||
1. Use this template to create a file named ursula.service and place it in */etc/systemd/system/*.
|
||||
1. Use this template to create a file named _ursula.service_ and place it in */etc/systemd/system/*.
|
||||
|
||||
```
|
||||
[Unit]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
3. And cryptographers said, Let there be encapsulation: and there was encapsulation.
|
||||
|
||||
4. And they saw* the light, that it was good: and divided* the symmetric ciphertext from the encapsulated key.
|
||||
4. And they saw *the light, that it was good: and divided* the symmetric ciphertext from the encapsulated key.
|
||||
|
||||
5. And they called the symmetric ciphertext "bulk data", and the encapsulated key the "*Capsule*". And the encryption and the decryption were the first secure message.
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
9. And they said, Let the ciphertext fragments under the interwebs be gathered together unto one place, and let the Capsule appear: and it was so.
|
||||
|
||||
10. And they called the total number of framents **`n`**, and the number that Bob needed to reassamble **`m`**: and they saw that it was good.
|
||||
10. And they called the total number of fragments **`n`**, and the number that Bob needed to reassamble **`m`**: and they saw that it was good.
|
||||
|
||||
11. And they said, Let the interwebs bring forth a Character, *Alice*, who yields the *Policy*, and a Character, *Enrico*, who yields the encrypted message after his kind, whose symmetric key is in itself, and let the Ursulas that are participating in the *Policy* be listed in a *TreasureMap*, upon the interwebs: and it was so.
|
||||
|
||||
|
@ -30,6 +30,6 @@
|
|||
|
||||
13. And the complete access management flow was the third secure message.
|
||||
|
||||
14. And they said, Let there be a coherent metaphor and API in the of cryptology of the interwebs, and let Policies expire at a specific datetime or upon revocation, and let them be for signs, and for seasons, and for days, and years:
|
||||
14. And they said, Let there be a coherent metaphor and API in the cryptology of the interwebs, and let Policies expire at a specific datetime or upon revocation, and let them be for signs, and for seasons, and for days, and years:
|
||||
|
||||
15. And let them be for decentralized re-encryption tooling in the cryptography of the interwebs to give privacy upon the blockchain: and it was so.
|
||||
|
|
Loading…
Reference in New Issue