diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0a09baef7d..0dd918b231 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,7 +4,7 @@ accounts/usbwallet @karalabe consensus @karalabe core/ @karalabe @holiman -eth/ @karalabe +ess/ @karalabe les/ @zsfelfoldi light/ @zsfelfoldi mobile/ @karalabe diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 7d80659b0d..a9cef98b63 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,7 +2,7 @@ Hi there, please note that this is an issue tracker reserved for bug reports and feature requests. -For general questions please use the gitter channel or the Ethereum stack exchange at https://ethereum.stackexchange.com. +For general questions please use the gitter channel or the Essentia stack exchange at https://ethereum.stackexchange.com. #### System information diff --git a/README.md b/README.md index 746ebf9152..9f891fa9dd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -## Go Ethereum +## Go Essentia -Official golang implementation of the Ethereum protocol. +Official golang implementation of the Essentia protocol. [![API Reference]( https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667 @@ -15,7 +15,7 @@ Binary archives are published at https://geth.ethereum.org/downloads/. ## Building the source For prerequisites and detailed build instructions please read the -[Installation Instructions](https://github.com/orangeAndSuns/go-ethereum/wiki/Building-Ethereum) +[Installation Instructions](https://github.com/orangeAndSuns/go-ethereum/wiki/Building-Essentia) on the wiki. Building geth requires both a Go (version 1.7 or later) and a C compiler. @@ -34,14 +34,14 @@ The go-ethereum project comes with several wrappers/executables found in the `cm | Command | Description | |:----------:|-------------| -| **`geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default) archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI Wiki page](https://github.com/orangeAndSuns/go-ethereum/wiki/Command-Line-Options) for command line options. | -| `abigen` | Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) with expanded functionality if the contract bytecode is also available. However it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://github.com/orangeAndSuns/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts) wiki page for details. | -| `bootnode` | Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. | -| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug`). | -| `gethrpctest` | Developer utility tool to support our [ethereum/rpc-test](https://github.com/ethereum/rpc-tests) test suite which validates baseline conformity to the [Ethereum JSON RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC) specs. Please see the [test suite's readme](https://github.com/ethereum/rpc-tests/blob/master/README.md) for details. | -| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://github.com/ethereum/wiki/wiki/RLP)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). | +| **`geth`** | Our main Essentia CLI client. It is the entry point into the Essentia network (main-, test- or private net), capable of running as a full node (default) archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Essentia network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI Wiki page](https://github.com/orangeAndSuns/go-ethereum/wiki/Command-Line-Options) for command line options. | +| `abigen` | Source code generator to convert Essentia contract definitions into easy to use, compile-time type-safe Go packages. It operates on plain [Essentia contract ABIs](https://github.com/ethereum/wiki/wiki/Essentia-Contract-ABI) with expanded functionality if the contract bytecode is also available. However it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://github.com/orangeAndSuns/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Essentia-contracts) wiki page for details. | +| `bootnode` | Stripped down version of our Essentia client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. | +| `evm` | Developer utility version of the EVM (Essentia Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug`). | +| `gethrpctest` | Developer utility tool to support our [ethereum/rpc-test](https://github.com/ethereum/rpc-tests) test suite which validates baseline conformity to the [Essentia JSON RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC) specs. Please see the [test suite's readme](https://github.com/ethereum/rpc-tests/blob/master/README.md) for details. | +| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://github.com/ethereum/wiki/wiki/RLP)) dumps (data encoding used by the Essentia protocol both network as well as consensus wise) to user friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). | | `swarm` | Swarm daemon and tools. This is the entrypoint for the Swarm network. `swarm --help` for command line options and subcommands. See [Swarm README](https://github.com/orangeAndSuns/go-ethereum/tree/master/swarm) for more information. | -| `puppeth` | a CLI wizard that aids in creating a new Ethereum network. | +| `puppeth` | a CLI wizard that aids in creating a new Essentia network. | ## Running geth @@ -50,9 +50,9 @@ Going through all the possible command line flags is out of scope here (please c enumerated a few common parameter combos to get you up to speed quickly on how you can run your own Geth instance. -### Full node on the main Ethereum network +### Full node on the main Essentia network -By far the most common scenario is people wanting to simply interact with the Ethereum network: +By far the most common scenario is people wanting to simply interact with the Essentia network: create accounts; transfer funds; deploy and interact with contracts. For this particular use-case the user doesn't care about years-old historical data, so we can fast-sync quickly to the current state of the network. To do so: @@ -64,7 +64,7 @@ $ geth console This command will: * Start geth in fast sync mode (default, can be changed with the `--syncmode` flag), causing it to - download more data in exchange for avoiding processing the entire history of the Ethereum network, + download more data in exchange for avoiding processing the entire history of the Essentia network, which is very CPU intensive. * Start up Geth's built-in interactive [JavaScript console](https://github.com/orangeAndSuns/go-ethereum/wiki/JavaScript-Console), (via the trailing `console` subcommand) through which you can invoke all official [`web3` methods](https://github.com/ethereum/wiki/wiki/JavaScript-API) @@ -72,9 +72,9 @@ This command will: This too is optional and if you leave it out you can always attach to an already running Geth instance with `geth attach`. -### Full node on the Ethereum test network +### Full node on the Essentia test network -Transitioning towards developers, if you'd like to play around with creating Ethereum contracts, you +Transitioning towards developers, if you'd like to play around with creating Essentia contracts, you almost certainly would like to do that without any real money involved until you get the hang of the entire system. In other words, instead of attaching to the main network, you want to join the **test** network with your node, which is fully equivalent to the main network, but with play-Ether only. @@ -93,7 +93,7 @@ Specifying the `--testnet` flag however will reconfigure your Geth instance a bi and Linux this also means that attaching to a running testnet node requires the use of a custom endpoint since `geth attach` will try to attach to a production node endpoint by default. E.g. `geth attach /testnet/geth.ipc`. Windows users are not affected by this. - * Instead of connecting the main Ethereum network, the client will connect to the test network, + * Instead of connecting the main Essentia network, the client will connect to the test network, which uses different P2P bootnodes, different network IDs and genesis states. *Note: Although there are some internal protective measures to prevent transactions from crossing @@ -103,7 +103,7 @@ separate the two networks and will not make any accounts available between them. ### Full node on the Rinkeby test network -The above test network is a cross client one based on the ethash proof-of-work consensus algorithm. As such, it has certain extra overhead and is more susceptible to reorganization attacks due to the network's low difficulty / security. Go Ethereum also supports connecting to a proof-of-authority based test network called [*Rinkeby*](https://www.rinkeby.io) (operated by members of the community). This network is lighter, more secure, but is only supported by go-ethereum. +The above test network is a cross client one based on the ethash proof-of-work consensus algorithm. As such, it has certain extra overhead and is more susceptible to reorganization attacks due to the network's low difficulty / security. Go Essentia also supports connecting to a proof-of-authority based test network called [*Rinkeby*](https://www.rinkeby.io) (operated by members of the community). This network is lighter, more secure, but is only supported by go-ethereum. ``` $ geth --rinkeby console @@ -127,7 +127,7 @@ $ geth --your-favourite-flags dumpconfig #### Docker quick start -One of the quickest ways to get Ethereum up and running on your machine is by using Docker: +One of the quickest ways to get Essentia up and running on your machine is by using Docker: ``` docker run -d --name ethereum-node -v /Users/alice/ethereum:/root \ @@ -141,7 +141,7 @@ Do not forget `--rpcaddr 0.0.0.0`, if you want to access RPC from other containe ### Programatically interfacing Geth nodes -As a developer, sooner rather than later you'll want to start interacting with Geth and the Ethereum +As a developer, sooner rather than later you'll want to start interacting with Geth and the Essentia network via your own programs and not manually through the console. To aid this, Geth has built-in support for a JSON-RPC based APIs ([standard APIs](https://github.com/ethereum/wiki/wiki/JSON-RPC) and [Geth specific APIs](https://github.com/orangeAndSuns/go-ethereum/wiki/Management-APIs)). These can be @@ -156,15 +156,15 @@ HTTP based JSON-RPC API options: * `--rpc` Enable the HTTP-RPC server * `--rpcaddr` HTTP-RPC server listening interface (default: "localhost") * `--rpcport` HTTP-RPC server listening port (default: 8545) - * `--rpcapi` API's offered over the HTTP-RPC interface (default: "eth,net,web3") + * `--rpcapi` API's offered over the HTTP-RPC interface (default: "ess,net,web3") * `--rpccorsdomain` Comma separated list of domains from which to accept cross origin requests (browser enforced) * `--ws` Enable the WS-RPC server * `--wsaddr` WS-RPC server listening interface (default: "localhost") * `--wsport` WS-RPC server listening port (default: 8546) - * `--wsapi` API's offered over the WS-RPC interface (default: "eth,net,web3") + * `--wsapi` API's offered over the WS-RPC interface (default: "ess,net,web3") * `--wsorigins` Origins from which to accept websockets requests * `--ipcdisable` Disable the IPC-RPC server - * `--ipcapi` API's offered over the IPC-RPC interface (default: "admin,debug,eth,miner,net,personal,shh,txpool,web3") + * `--ipcapi` API's offered over the IPC-RPC interface (default: "admin,debug,ess,miner,net,personal,shh,txpool,web3") * `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it) You'll need to use your own programming environments' capabilities (libraries, tools, etc) to connect @@ -172,7 +172,7 @@ via HTTP, WS or IPC to a Geth node configured with the above flags and you'll ne on all transports. You can reuse the same connection for multiple requests! **Note: Please understand the security implications of opening up an HTTP/WS based transport before -doing so! Hackers on the internet are actively trying to subvert Ethereum nodes with exposed APIs! +doing so! Hackers on the internet are actively trying to subvert Essentia nodes with exposed APIs! Further, all browser tabs can access locally running webservers, so malicious webpages could try to subvert locally available APIs!** @@ -259,7 +259,7 @@ need to configure a miner to process transactions and create new blocks for you. #### Running a private miner -Mining on the public Ethereum network is a complex task as it's only feasible using GPUs, requiring +Mining on the public Essentia network is a complex task as it's only feasible using GPUs, requiring an OpenCL or CUDA enabled `ethminer` instance. For information on such a setup, please consult the [EtherMining subreddit](https://www.reddit.com/r/EtherMining/) and the [Genoil miner](https://github.com/Genoil/cpp-ethereum) repository. @@ -295,7 +295,7 @@ Please make sure your contributions adhere to our coding guidelines: * Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines. * Pull requests need to be based on and opened against the `master` branch. * Commit messages should be prefixed with the package(s) they modify. - * E.g. "eth, rpc: make trace configs optional" + * E.g. "ess, rpc: make trace configs optional" Please see the [Developers' Guide](https://github.com/orangeAndSuns/go-ethereum/wiki/Developers'-Guide) for more details on configuring your environment, managing project dependencies and testing procedures. diff --git a/accounts/abi/bind/backend.go b/accounts/abi/bind/backend.go index e0d503fc4e..0572673965 100644 --- a/accounts/abi/bind/backend.go +++ b/accounts/abi/bind/backend.go @@ -47,7 +47,7 @@ type ContractCaller interface { // CodeAt returns the code of the given account. This is needed to differentiate // between contract internal errors and the local chain being out of sync. CodeAt(ctx context.Context, contract common.Address, blockNumber *big.Int) ([]byte, error) - // ContractCall executes an Ethereum contract call with the specified data as the + // ContractCall executes an Essentia contract call with the specified data as the // input. CallContract(ctx context.Context, call ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) } @@ -58,7 +58,7 @@ type ContractCaller interface { type PendingContractCaller interface { // PendingCodeAt returns the code of the given account in the pending state. PendingCodeAt(ctx context.Context, contract common.Address) ([]byte, error) - // PendingCallContract executes an Ethereum contract call against the pending state. + // PendingCallContract executes an Essentia contract call against the pending state. PendingCallContract(ctx context.Context, call ethereum.CallMsg) ([]byte, error) } diff --git a/accounts/abi/bind/backends/simulated.go b/accounts/abi/bind/backends/simulated.go index 10c64bd019..ad252e27a7 100644 --- a/accounts/abi/bind/backends/simulated.go +++ b/accounts/abi/bind/backends/simulated.go @@ -52,7 +52,7 @@ var errGasEstimationFailed = errors.New("gas required exceeds allowance or alway // the background. Its main purpose is to allow easily testing contract bindings. type SimulatedBackend struct { database ethdb.Database // In memory database to store our testing data - blockchain *core.BlockChain // Ethereum blockchain to handle the consensus + blockchain *core.BlockChain // Essentia blockchain to handle the consensus mu sync.Mutex pendingBlock *types.Block // Currently pending block that will be imported on request diff --git a/accounts/abi/bind/base.go b/accounts/abi/bind/base.go index 3c5861534c..056873dd17 100644 --- a/accounts/abi/bind/base.go +++ b/accounts/abi/bind/base.go @@ -43,9 +43,9 @@ type CallOpts struct { } // TransactOpts is the collection of authorization data required to create a -// valid Ethereum transaction. +// valid Essentia transaction. type TransactOpts struct { - From common.Address // Ethereum account to send the transaction from + From common.Address // Essentia account to send the transaction from Nonce *big.Int // Nonce to use for the transaction execution (nil = use pending state) Signer SignerFn // Method to use for signing the transaction (mandatory) @@ -73,11 +73,11 @@ type WatchOpts struct { } // BoundContract is the base wrapper object that reflects a contract on the -// Ethereum network. It contains a collection of methods that are used by the +// Essentia network. It contains a collection of methods that are used by the // higher level contract bindings to operate. type BoundContract struct { - address common.Address // Deployment address of the contract on the Ethereum blockchain - abi abi.ABI // Reflect based ABI to access the correct Ethereum methods + address common.Address // Deployment address of the contract on the Essentia blockchain + abi abi.ABI // Reflect based ABI to access the correct Essentia methods caller ContractCaller // Read interface to interact with the blockchain transactor ContractTransactor // Write interface to interact with the blockchain filterer ContractFilterer // Event filtering to interact with the blockchain @@ -95,7 +95,7 @@ func NewBoundContract(address common.Address, abi abi.ABI, caller ContractCaller } } -// DeployContract deploys a contract onto the Ethereum blockchain and binds the +// DeployContract deploys a contract onto the Essentia blockchain and binds the // deployment address with a Go wrapper. func DeployContract(opts *TransactOpts, abi abi.ABI, bytecode []byte, backend ContractBackend, params ...interface{}) (common.Address, *types.Transaction, *BoundContract, error) { // Otherwise try to deploy the contract diff --git a/accounts/abi/bind/bind.go b/accounts/abi/bind/bind.go index 25716822a3..3f2ea7d80d 100644 --- a/accounts/abi/bind/bind.go +++ b/accounts/abi/bind/bind.go @@ -14,10 +14,10 @@ // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see . -// Package bind generates Ethereum contract Go bindings. +// Package bind generates Essentia contract Go bindings. // // Detailed usage document and tutorial available on the go-ethereum Wiki page: -// https://github.com/orangeAndSuns/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts +// https://github.com/orangeAndSuns/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Essentia-contracts package bind import ( diff --git a/accounts/abi/bind/template.go b/accounts/abi/bind/template.go index b6ef8c4433..ccd11a73da 100644 --- a/accounts/abi/bind/template.go +++ b/accounts/abi/bind/template.go @@ -72,7 +72,7 @@ package {{.Package}} // {{.Type}}Bin is the compiled bytecode used for deploying new contracts. const {{.Type}}Bin = ` + "`" + `{{.InputBin}}` + "`" + ` - // Deploy{{.Type}} deploys a new Ethereum contract, binding an instance of {{.Type}} to it. + // Deploy{{.Type}} deploys a new Essentia contract, binding an instance of {{.Type}} to it. func Deploy{{.Type}}(auth *bind.TransactOpts, backend bind.ContractBackend {{range .Constructor.Inputs}}, {{.Name}} {{bindtype .Type}}{{end}}) (common.Address, *types.Transaction, *{{.Type}}, error) { parsed, err := abi.JSON(strings.NewReader({{.Type}}ABI)) if err != nil { @@ -86,29 +86,29 @@ package {{.Package}} } {{end}} - // {{.Type}} is an auto generated Go binding around an Ethereum contract. + // {{.Type}} is an auto generated Go binding around an Essentia contract. type {{.Type}} struct { {{.Type}}Caller // Read-only binding to the contract {{.Type}}Transactor // Write-only binding to the contract {{.Type}}Filterer // Log filterer for contract events } - // {{.Type}}Caller is an auto generated read-only Go binding around an Ethereum contract. + // {{.Type}}Caller is an auto generated read-only Go binding around an Essentia contract. type {{.Type}}Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } - // {{.Type}}Transactor is an auto generated write-only Go binding around an Ethereum contract. + // {{.Type}}Transactor is an auto generated write-only Go binding around an Essentia contract. type {{.Type}}Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } - // {{.Type}}Filterer is an auto generated log filtering Go binding around an Ethereum contract events. + // {{.Type}}Filterer is an auto generated log filtering Go binding around an Essentia contract events. type {{.Type}}Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } - // {{.Type}}Session is an auto generated Go binding around an Ethereum contract, + // {{.Type}}Session is an auto generated Go binding around an Essentia contract, // with pre-set call and transact options. type {{.Type}}Session struct { Contract *{{.Type}} // Generic contract binding to set the session for @@ -116,31 +116,31 @@ package {{.Package}} TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } - // {{.Type}}CallerSession is an auto generated read-only Go binding around an Ethereum contract, + // {{.Type}}CallerSession is an auto generated read-only Go binding around an Essentia contract, // with pre-set call options. type {{.Type}}CallerSession struct { Contract *{{.Type}}Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } - // {{.Type}}TransactorSession is an auto generated write-only Go binding around an Ethereum contract, + // {{.Type}}TransactorSession is an auto generated write-only Go binding around an Essentia contract, // with pre-set transact options. type {{.Type}}TransactorSession struct { Contract *{{.Type}}Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } - // {{.Type}}Raw is an auto generated low-level Go binding around an Ethereum contract. + // {{.Type}}Raw is an auto generated low-level Go binding around an Essentia contract. type {{.Type}}Raw struct { Contract *{{.Type}} // Generic contract binding to access the raw methods on } - // {{.Type}}CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. + // {{.Type}}CallerRaw is an auto generated low-level read-only Go binding around an Essentia contract. type {{.Type}}CallerRaw struct { Contract *{{.Type}}Caller // Generic read-only contract binding to access the raw methods on } - // {{.Type}}TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. + // {{.Type}}TransactorRaw is an auto generated low-level write-only Go binding around an Essentia contract. type {{.Type}}TransactorRaw struct { Contract *{{.Type}}Transactor // Generic write-only contract binding to access the raw methods on } @@ -439,7 +439,7 @@ import org.ethereum.geth.internal.*; // BYTECODE is the compiled bytecode used for deploying new contracts. public final static byte[] BYTECODE = "{{.InputBin}}".getBytes(); - // deploy deploys a new Ethereum contract, binding an instance of {{.Type}} to it. + // deploy deploys a new Essentia contract, binding an instance of {{.Type}} to it. public static {{.Type}} deploy(TransactOpts auth, EthereumClient client{{range .Constructor.Inputs}}, {{bindtype .Type}} {{.Name}}{{end}}) throws Exception { Interfaces args = Geth.newInterfaces({{(len .Constructor.Inputs)}}); {{range $index, $element := .Constructor.Inputs}} @@ -456,10 +456,10 @@ import org.ethereum.geth.internal.*; } {{end}} - // Ethereum address where this contract is located at. + // Essentia address where this contract is located at. public final Address Address; - // Ethereum transaction in which this contract was deployed (if known!). + // Essentia transaction in which this contract was deployed (if known!). public final Transaction Deployer; // Contract instance bound to a blockchain address. diff --git a/accounts/abi/doc.go b/accounts/abi/doc.go index 8242068582..80ab778989 100644 --- a/accounts/abi/doc.go +++ b/accounts/abi/doc.go @@ -14,10 +14,10 @@ // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see . -// Package abi implements the Ethereum ABI (Application Binary +// Package abi implements the Essentia ABI (Application Binary // Interface). // -// The Ethereum ABI is strongly typed, known at compile time +// The Essentia ABI is strongly typed, known at compile time // and static. This ABI will handle basic type casting; unsigned // to signed and visa versa. It does not handle slice casting such // as unsigned slice to signed slice. Bit size type casting is also diff --git a/accounts/accounts.go b/accounts/accounts.go index ef52b64c94..908f99ffd9 100644 --- a/accounts/accounts.go +++ b/accounts/accounts.go @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see . -// Package accounts implements high level Ethereum account management. +// Package accounts implements high level Essentia account management. package accounts import ( @@ -26,10 +26,10 @@ import ( "github.com/orangeAndSuns/go-ethereum/event" ) -// Account represents an Ethereum account located at a specific location defined +// Account represents an Essentia account located at a specific location defined // by the optional URL field. type Account struct { - Address common.Address `json:"address"` // Ethereum account address derived from the key + Address common.Address `json:"address"` // Essentia account address derived from the key URL URL `json:"url"` // Optional resource locator within a backend } diff --git a/accounts/hd.go b/accounts/hd.go index 277f688e48..00b8c27650 100644 --- a/accounts/hd.go +++ b/accounts/hd.go @@ -50,9 +50,9 @@ var DefaultLedgerBaseDerivationPath = DerivationPath{0x80000000 + 44, 0x80000000 // The BIP-44 spec https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki // defines that the `purpose` be 44' (or 0x8000002C) for crypto currencies, and // SLIP-44 https://github.com/satoshilabs/slips/blob/master/slip-0044.md assigns -// the `coin_type` 60' (or 0x8000003C) to Ethereum. +// the `coin_type` 60' (or 0x8000003C) to Essentia. // -// The root path for Ethereum is m/44'/60'/0'/0 according to the specification +// The root path for Essentia is m/44'/60'/0'/0 according to the specification // from https://github.com/ethereum/EIPs/issues/84, albeit it's not set in stone // yet whether accounts should increment the last component or the children of // that. We will go with the simpler approach of incrementing the last component. diff --git a/accounts/keystore/account_cache_test.go b/accounts/keystore/account_cache_test.go index ad908a2ed2..095fcbaf17 100644 --- a/accounts/keystore/account_cache_test.go +++ b/accounts/keystore/account_cache_test.go @@ -96,7 +96,7 @@ func TestWatchNoDir(t *testing.T) { // Create ks but not the directory that it watches. rand.Seed(time.Now().UnixNano()) - dir := filepath.Join(os.TempDir(), fmt.Sprintf("eth-keystore-watch-test-%d-%d", os.Getpid(), rand.Int())) + dir := filepath.Join(os.TempDir(), fmt.Sprintf("ess-keystore-watch-test-%d-%d", os.Getpid(), rand.Int())) ks := NewKeyStore(dir, LightScryptN, LightScryptP) list := ks.Accounts() @@ -322,7 +322,7 @@ func TestUpdatedKeyfileContents(t *testing.T) { // Create a temporary kesytore to test with rand.Seed(time.Now().UnixNano()) - dir := filepath.Join(os.TempDir(), fmt.Sprintf("eth-keystore-watch-test-%d-%d", os.Getpid(), rand.Int())) + dir := filepath.Join(os.TempDir(), fmt.Sprintf("ess-keystore-watch-test-%d-%d", os.Getpid(), rand.Int())) ks := NewKeyStore(dir, LightScryptN, LightScryptP) list := ks.Accounts() diff --git a/accounts/keystore/keystore.go b/accounts/keystore/keystore.go index 646fa6562a..81c2f755dc 100644 --- a/accounts/keystore/keystore.go +++ b/accounts/keystore/keystore.go @@ -472,7 +472,7 @@ func (ks *KeyStore) Update(a accounts.Account, passphrase, newPassphrase string) return ks.storage.StoreKey(a.URL.Path, key, newPassphrase) } -// ImportPreSaleKey decrypts the given Ethereum presale wallet and stores +// ImportPreSaleKey decrypts the given Essentia presale wallet and stores // a key file in the key directory. The key file is encrypted with the same passphrase. func (ks *KeyStore) ImportPreSaleKey(keyJSON []byte, passphrase string) (accounts.Account, error) { a, _, err := importPreSaleKey(ks.storage, keyJSON, passphrase) diff --git a/accounts/keystore/keystore_plain_test.go b/accounts/keystore/keystore_plain_test.go index 9b930fd24d..33bf7ac2e0 100644 --- a/accounts/keystore/keystore_plain_test.go +++ b/accounts/keystore/keystore_plain_test.go @@ -121,7 +121,7 @@ func TestImportPreSaleKey(t *testing.T) { } } -// Test and utils for the key store tests in the Ethereum JSON tests; +// Test and utils for the key store tests in the Essentia JSON tests; // testdataKeyStoreTests/basic_tests.json type KeyStoreTestV3 struct { Json encryptedKeyJSONV3 diff --git a/accounts/keystore/keystore_test.go b/accounts/keystore/keystore_test.go index f978a71879..230d80379f 100644 --- a/accounts/keystore/keystore_test.go +++ b/accounts/keystore/keystore_test.go @@ -375,7 +375,7 @@ func checkEvents(t *testing.T, want []walletEvent, have []walletEvent) { } func tmpKeyStore(t *testing.T, encrypted bool) (string, *KeyStore) { - d, err := ioutil.TempDir("", "eth-keystore-test") + d, err := ioutil.TempDir("", "ess-keystore-test") if err != nil { t.Fatal(err) } diff --git a/accounts/url.go b/accounts/url.go index a5add10216..2cbe7194a1 100644 --- a/accounts/url.go +++ b/accounts/url.go @@ -33,7 +33,7 @@ import ( // references to the original version, whereas the latter is important to ensure // one single canonical form opposed to many allowed ones by the RFC 3986 spec. // -// As such, these URLs should not be used outside of the scope of an Ethereum +// As such, these URLs should not be used outside of the scope of an Essentia // wallet or account. type URL struct { Scheme string // Protocol scheme to identify a capable account backend diff --git a/accounts/usbwallet/internal/trezor/messages.pb.go b/accounts/usbwallet/internal/trezor/messages.pb.go index 15bb6fb73b..ea4afff321 100644 --- a/accounts/usbwallet/internal/trezor/messages.pb.go +++ b/accounts/usbwallet/internal/trezor/messages.pb.go @@ -954,7 +954,7 @@ func (m *GetAddress) GetScriptType() InputScriptType { } // * -// Request: Ask device for Ethereum address corresponding to address_n path +// Request: Ask device for Essentia address corresponding to address_n path // @next PassphraseRequest // @next EthereumAddress // @next Failure @@ -1004,7 +1004,7 @@ func (m *Address) GetAddress() string { } // * -// Response: Contains an Ethereum address derived from device private seed +// Response: Contains an Essentia address derived from device private seed // @prev EthereumGetAddress type EthereumAddress struct { Address []byte `protobuf:"bytes,1,req,name=address" json:"address,omitempty"` diff --git a/accounts/usbwallet/internal/trezor/messages.proto b/accounts/usbwallet/internal/trezor/messages.proto index 8cb9c8cc25..880c31fee2 100644 --- a/accounts/usbwallet/internal/trezor/messages.proto +++ b/accounts/usbwallet/internal/trezor/messages.proto @@ -318,7 +318,7 @@ message GetAddress { } /** - * Request: Ask device for Ethereum address corresponding to address_n path + * Request: Ask device for Essentia address corresponding to address_n path * @next PassphraseRequest * @next EthereumAddress * @next Failure @@ -337,11 +337,11 @@ message Address { } /** - * Response: Contains an Ethereum address derived from device private seed + * Response: Contains an Essentia address derived from device private seed * @prev EthereumGetAddress */ message EthereumAddress { - required bytes address = 1; // Coin address as an Ethereum 160 bit hash + required bytes address = 1; // Coin address as an Essentia 160 bit hash } /** @@ -681,7 +681,7 @@ message EthereumTxAck { } //////////////////////////////////////// -// Ethereum: Message signing messages // +// Essentia: Message signing messages // //////////////////////////////////////// /** diff --git a/accounts/usbwallet/ledger.go b/accounts/usbwallet/ledger.go index baa91a7173..037904e31b 100644 --- a/accounts/usbwallet/ledger.go +++ b/accounts/usbwallet/ledger.go @@ -16,7 +16,7 @@ // This file contains the implementation for interacting with the Ledger hardware // wallets. The wire protocol spec can be found in the Ledger Blue GitHub repo: -// https://raw.githubusercontent.com/LedgerHQ/blue-app-eth/master/doc/ethapp.asc +// https://raw.githubusercontent.com/LedgerHQ/blue-app-ess/master/doc/ethapp.asc package usbwallet @@ -48,8 +48,8 @@ type ledgerParam1 byte type ledgerParam2 byte const ( - ledgerOpRetrieveAddress ledgerOpcode = 0x02 // Returns the public key and Ethereum address for a given BIP 32 path - ledgerOpSignTransaction ledgerOpcode = 0x04 // Signs an Ethereum transaction after having the user validate the parameters + ledgerOpRetrieveAddress ledgerOpcode = 0x02 // Returns the public key and Essentia address for a given BIP 32 path + ledgerOpSignTransaction ledgerOpcode = 0x04 // Signs an Essentia transaction after having the user validate the parameters ledgerOpGetConfiguration ledgerOpcode = 0x06 // Returns specific wallet application configuration ledgerP1DirectlyFetchAddress ledgerParam1 = 0x00 // Return address directly from the wallet @@ -90,15 +90,15 @@ func (w *ledgerDriver) Status() (string, error) { return fmt.Sprintf("Failed: %v", w.failure), w.failure } if w.browser { - return "Ethereum app in browser mode", w.failure + return "Essentia app in browser mode", w.failure } if w.offline() { - return "Ethereum app offline", w.failure + return "Essentia app offline", w.failure } - return fmt.Sprintf("Ethereum app v%d.%d.%d online", w.version[0], w.version[1], w.version[2]), w.failure + return fmt.Sprintf("Essentia app v%d.%d.%d online", w.version[0], w.version[1], w.version[2]), w.failure } -// offline returns whether the wallet and the Ethereum app is offline or not. +// offline returns whether the wallet and the Essentia app is offline or not. // // The method assumes that the state lock is held! func (w *ledgerDriver) offline() bool { @@ -113,13 +113,13 @@ func (w *ledgerDriver) Open(device io.ReadWriter, passphrase string) error { _, err := w.ledgerDerive(accounts.DefaultBaseDerivationPath) if err != nil { - // Ethereum app is not running or in browser mode, nothing more to do, return + // Essentia app is not running or in browser mode, nothing more to do, return if err == errLedgerReplyInvalidHeader { w.browser = true } return nil } - // Try to resolve the Ethereum app's version, will fail prior to v1.0.2 + // Try to resolve the Essentia app's version, will fail prior to v1.0.2 if w.version, err = w.ledgerVersion(); err != nil { w.version = [3]byte{1, 0, 0} // Assume worst case, can't verify if v1.0.0 or v1.0.1 } @@ -144,7 +144,7 @@ func (w *ledgerDriver) Heartbeat() error { } // Derive implements usbwallet.driver, sending a derivation request to the Ledger -// and returning the Ethereum address located on that derivation path. +// and returning the Essentia address located on that derivation path. func (w *ledgerDriver) Derive(path accounts.DerivationPath) (common.Address, error) { return w.ledgerDerive(path) } @@ -152,11 +152,11 @@ func (w *ledgerDriver) Derive(path accounts.DerivationPath) (common.Address, err // SignTx implements usbwallet.driver, sending the transaction to the Ledger and // waiting for the user to confirm or deny the transaction. // -// Note, if the version of the Ethereum application running on the Ledger wallet is +// Note, if the version of the Essentia application running on the Ledger wallet is // too old to sign EIP-155 transactions, but such is requested nonetheless, an error // will be returned opposed to silently signing in Homestead mode. func (w *ledgerDriver) SignTx(path accounts.DerivationPath, tx *types.Transaction, chainID *big.Int) (common.Address, *types.Transaction, error) { - // If the Ethereum app doesn't run, abort + // If the Essentia app doesn't run, abort if w.offline() { return common.Address{}, nil, accounts.ErrWalletClosed } @@ -168,7 +168,7 @@ func (w *ledgerDriver) SignTx(path accounts.DerivationPath, tx *types.Transactio return w.ledgerSign(path, tx, chainID) } -// ledgerVersion retrieves the current version of the Ethereum wallet app running +// ledgerVersion retrieves the current version of the Essentia wallet app running // on the Ledger wallet. // // The version retrieval protocol is defined as follows: @@ -200,7 +200,7 @@ func (w *ledgerDriver) ledgerVersion() ([3]byte, error) { return version, nil } -// ledgerDerive retrieves the currently active Ethereum address from a Ledger +// ledgerDerive retrieves the currently active Essentia address from a Ledger // wallet at the specified derivation path. // // The address derivation protocol is defined as follows: @@ -228,8 +228,8 @@ func (w *ledgerDriver) ledgerVersion() ([3]byte, error) { // ------------------------+------------------- // Public Key length | 1 byte // Uncompressed Public Key | arbitrary -// Ethereum address length | 1 byte -// Ethereum address | 40 bytes hex ascii +// Essentia address length | 1 byte +// Essentia address | 40 bytes hex ascii // Chain code if requested | 32 bytes func (w *ledgerDriver) ledgerDerive(derivationPath []uint32) (common.Address, error) { // Flatten the derivation path into the Ledger request @@ -249,13 +249,13 @@ func (w *ledgerDriver) ledgerDerive(derivationPath []uint32) (common.Address, er } reply = reply[1+int(reply[0]):] - // Extract the Ethereum hex address string + // Extract the Essentia hex address string if len(reply) < 1 || len(reply) < 1+int(reply[0]) { return common.Address{}, errors.New("reply lacks address entry") } hexstr := reply[1 : 1+int(reply[0])] - // Decode the hex sting into an Ethereum address and return + // Decode the hex sting into an Essentia address and return var address common.Address hex.Decode(address[:], hexstr) return address, nil @@ -338,7 +338,7 @@ func (w *ledgerDriver) ledgerSign(derivationPath []uint32, tx *types.Transaction payload = payload[chunk:] op = ledgerP1ContTransactionData } - // Extract the Ethereum signature and do a sanity validation + // Extract the Essentia signature and do a sanity validation if len(reply) != 65 { return common.Address{}, nil, errors.New("reply lacks signature") } diff --git a/accounts/usbwallet/trezor.go b/accounts/usbwallet/trezor.go index f87445e33d..d82a9b9df4 100644 --- a/accounts/usbwallet/trezor.go +++ b/accounts/usbwallet/trezor.go @@ -64,7 +64,7 @@ func newTrezorDriver(logger log.Logger) driver { } // Status implements accounts.Wallet, always whether the Trezor is opened, closed -// or whether the Ethereum app was not started on it. +// or whether the Essentia app was not started on it. func (w *trezorDriver) Status() (string, error) { if w.failure != nil { return fmt.Sprintf("Failed: %v", w.failure), w.failure @@ -145,7 +145,7 @@ func (w *trezorDriver) Heartbeat() error { } // Derive implements usbwallet.driver, sending a derivation request to the Trezor -// and returning the Ethereum address located on that derivation path. +// and returning the Essentia address located on that derivation path. func (w *trezorDriver) Derive(path accounts.DerivationPath) (common.Address, error) { return w.trezorDerive(path) } @@ -160,7 +160,7 @@ func (w *trezorDriver) SignTx(path accounts.DerivationPath, tx *types.Transactio } // trezorDerive sends a derivation request to the Trezor device and returns the -// Ethereum address located on that path. +// Essentia address located on that path. func (w *trezorDriver) trezorDerive(derivationPath []uint32) (common.Address, error) { address := new(trezor.EthereumAddress) if _, err := w.trezorExchange(&trezor.EthereumGetAddress{AddressN: derivationPath}, address); err != nil { @@ -209,7 +209,7 @@ func (w *trezorDriver) trezorSign(derivationPath []uint32, tx *types.Transaction return common.Address{}, nil, err } } - // Extract the Ethereum signature and do a sanity validation + // Extract the Essentia signature and do a sanity validation if len(response.GetSignatureR()) == 0 || len(response.GetSignatureS()) == 0 || response.GetSignatureV() == 0 { return common.Address{}, nil, errors.New("reply lacks signature") } diff --git a/accounts/usbwallet/wallet.go b/accounts/usbwallet/wallet.go index 1b67bd0329..eec1598540 100644 --- a/accounts/usbwallet/wallet.go +++ b/accounts/usbwallet/wallet.go @@ -59,7 +59,7 @@ type driver interface { // is still online and healthy. Heartbeat() error - // Derive sends a derivation request to the USB device and returns the Ethereum + // Derive sends a derivation request to the USB device and returns the Essentia // address located on that path. Derive(path accounts.DerivationPath) (common.Address, error) @@ -346,7 +346,7 @@ func (w *wallet) selfDerive() { context = context.Background() ) for empty := false; !empty; { - // Retrieve the next derived Ethereum account + // Retrieve the next derived Essentia account if nextAddr == (common.Address{}) { if nextAddr, err = w.driver.Derive(nextPath); err != nil { w.log.Warn("USB wallet account derivation failed", "err", err) @@ -505,7 +505,7 @@ func (w *wallet) SignHash(account accounts.Account, hash []byte) ([]byte, error) // wallet to request a confirmation from the user. It returns either the signed // transaction or a failure if the user denied the transaction. // -// Note, if the version of the Ethereum application running on the Ledger wallet is +// Note, if the version of the Essentia application running on the Ledger wallet is // too old to sign EIP-155 transactions, but such is requested nonetheless, an error // will be returned opposed to silently signing in Homestead mode. func (w *wallet) SignTx(account accounts.Account, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error) { diff --git a/build/ci.go b/build/ci.go index 24b37754f4..c2b45426a6 100644 --- a/build/ci.go +++ b/build/ci.go @@ -85,23 +85,23 @@ var ( debExecutables = []debExecutable{ { Name: "abigen", - Description: "Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages.", + Description: "Source code generator to convert Essentia contract definitions into easy to use, compile-time type-safe Go packages.", }, { Name: "bootnode", - Description: "Ethereum bootnode.", + Description: "Essentia bootnode.", }, { Name: "evm", - Description: "Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode.", + Description: "Developer utility version of the EVM (Essentia Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode.", }, { Name: "geth", - Description: "Ethereum CLI client.", + Description: "Essentia CLI client.", }, { Name: "puppeth", - Description: "Ethereum private network manager.", + Description: "Essentia private network manager.", }, { Name: "rlpdump", @@ -109,11 +109,11 @@ var ( }, { Name: "swarm", - Description: "Ethereum Swarm daemon and tools", + Description: "Essentia Swarm daemon and tools", }, { Name: "wnode", - Description: "Ethereum Whisper diagnostic tool", + Description: "Essentia Whisper diagnostic tool", }, } @@ -544,7 +544,7 @@ type debExecutable struct { func newDebMetadata(distro, author string, env build.Environment, t time.Time) debMetadata { if author == "" { // No signing key, use default author. - author = "Ethereum Builds " + author = "Essentia Builds " } return debMetadata{ Env: env, diff --git a/build/mvn.pom b/build/mvn.pom index 6281145708..8acc7f07f5 100644 --- a/build/mvn.pom +++ b/build/mvn.pom @@ -9,7 +9,7 @@ {{.Version}} aar - Android Ethereum Client + Android Essentia Client Android port of the go-ethereum libraries and node https://github.com/orangeAndSuns/go-ethereum 2015 @@ -23,7 +23,7 @@ - Ethereum + Essentia https://ethereum.org diff --git a/build/nsis.geth.nsi b/build/nsis.geth.nsi index 1034f30235..ab187b7ec5 100644 --- a/build/nsis.geth.nsi +++ b/build/nsis.geth.nsi @@ -29,9 +29,9 @@ # - sign installer CRCCheck on -!define GROUPNAME "Ethereum" +!define GROUPNAME "Essentia" !define APPNAME "Geth" -!define DESCRIPTION "Official Go implementation of the Ethereum protocol" +!define DESCRIPTION "Official Go implementation of the Essentia protocol" !addplugindir .\ # Require admin rights on NT6+ (When UAC is turned on) diff --git a/build/nsis.install.nsh b/build/nsis.install.nsh index 52393cb3f4..7638443059 100644 --- a/build/nsis.install.nsh +++ b/build/nsis.install.nsh @@ -29,9 +29,9 @@ Section "Geth" GETH_IDX SimpleFC::AdvRemoveRule "Geth UDP discovery (UDP:30303)" # Firewall - add rules - SimpleFC::AdvAddRule "Geth incoming peers (TCP:30303)" "" 6 1 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Ethereum" 30303 "" "" "" - SimpleFC::AdvAddRule "Geth outgoing peers (TCP:30303)" "" 6 2 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Ethereum" "" 30303 "" "" - SimpleFC::AdvAddRule "Geth UDP discovery (UDP:30303)" "" 17 2 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Ethereum" "" 30303 "" "" + SimpleFC::AdvAddRule "Geth incoming peers (TCP:30303)" "" 6 1 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Essentia" 30303 "" "" "" + SimpleFC::AdvAddRule "Geth outgoing peers (TCP:30303)" "" 6 2 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Essentia" "" 30303 "" "" + SimpleFC::AdvAddRule "Geth UDP discovery (UDP:30303)" "" 17 2 1 2147483647 1 "$INSTDIR\geth.exe" "" "" "Essentia" "" 30303 "" "" # Set default IPC endpoint (https://github.com/ethereum/EIPs/issues/147) ${EnvVarUpdate} $0 "ETHEREUM_SOCKET" "R" "HKLM" "\\.\pipe\geth.ipc" diff --git a/build/pod.podspec b/build/pod.podspec index a358210ed8..4e3b92e940 100644 --- a/build/pod.podspec +++ b/build/pod.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |spec| spec.authors = { {{range .Contributors}} '{{.Name}}' => '{{.Email}}',{{end}} } - spec.summary = 'iOS Ethereum Client' + spec.summary = 'iOS Essentia Client' spec.source = { :git => 'https://github.com/orangeAndSuns/go-ethereum.git', :commit => '{{.Commit}}' } spec.platform = :ios diff --git a/cmd/abigen/main.go b/cmd/abigen/main.go index 11b9ff576e..c7f52cc153 100644 --- a/cmd/abigen/main.go +++ b/cmd/abigen/main.go @@ -29,11 +29,11 @@ import ( ) var ( - abiFlag = flag.String("abi", "", "Path to the Ethereum contract ABI json to bind, - for STDIN") - binFlag = flag.String("bin", "", "Path to the Ethereum contract bytecode (generate deploy method)") + abiFlag = flag.String("abi", "", "Path to the Essentia contract ABI json to bind, - for STDIN") + binFlag = flag.String("bin", "", "Path to the Essentia contract bytecode (generate deploy method)") typFlag = flag.String("type", "", "Struct name for the binding (default = package name)") - solFlag = flag.String("sol", "", "Path to the Ethereum contract Solidity source to build and bind") + solFlag = flag.String("sol", "", "Path to the Essentia contract Solidity source to build and bind") solcFlag = flag.String("solc", "solc", "Solidity compiler to use if source builds are requested") excFlag = flag.String("exc", "", "Comma separated types to exclude from binding") diff --git a/cmd/bootnode/main.go b/cmd/bootnode/main.go index 7bdfab213c..394dc6d7cf 100644 --- a/cmd/bootnode/main.go +++ b/cmd/bootnode/main.go @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with go-ethereum. If not, see . -// bootnode runs a bootstrap node for the Ethereum Discovery Protocol. +// bootnode runs a bootstrap node for the Essentia Discovery Protocol. package main import ( diff --git a/cmd/clef/README.md b/cmd/clef/README.md index 027c22c98f..56c3a86b11 100644 --- a/cmd/clef/README.md +++ b/cmd/clef/README.md @@ -5,9 +5,9 @@ This allows DApps not to depend on geth's account management. When a DApp wants the signer, the signer will then provide the user with context and asks the user for permission to sign the data. If the users grants the signing request the signer will send the signature back to the DApp. -This setup allows a DApp to connect to a remote Ethereum node and send transactions that are locally signed. This can -help in situations when a DApp is connected to a remote node because a local Ethereum node is not available, not -synchronised with the chain or a particular Ethereum node that has no built-in (or limited) account management. +This setup allows a DApp to connect to a remote Essentia node and send transactions that are locally signed. This can +help in situations when a DApp is connected to a remote node because a local Essentia node is not available, not +synchronised with the chain or a particular Essentia node that has no built-in (or limited) account management. Clef can run as a daemon on the same machine, or off a usb-stick like [usb armory](https://inversepath.com/usbarmory), or a separate VM in a [QubesOS](https://www.qubes-os.org/) type os setup. @@ -68,7 +68,7 @@ The security model of the signer is as follows: The general flow for signing a transaction using e.g. geth is as follows: ![image](sign_flow.png) -In this case, `geth` would be started with `--externalsigner=http://localhost:8550` and would relay requests to `eth.sendTransaction`. +In this case, `geth` would be started with `--externalsigner=http://localhost:8550` and would relay requests to `ess.sendTransaction`. ## TODOs diff --git a/cmd/clef/main.go b/cmd/clef/main.go index a58b17dd08..df32cf5d46 100644 --- a/cmd/clef/main.go +++ b/cmd/clef/main.go @@ -170,7 +170,7 @@ remove any stored credential for that address (keyfile) func init() { app.Name = "Clef" - app.Usage = "Manage Ethereum account operations" + app.Usage = "Manage Essentia account operations" app.Flags = []cli.Flag{ logLevelFlag, keystoreFlag, diff --git a/cmd/ethkey/README.md b/cmd/ethkey/README.md index cf72ba43d7..b880c5146e 100644 --- a/cmd/ethkey/README.md +++ b/cmd/ethkey/README.md @@ -1,7 +1,7 @@ ethkey ====== -ethkey is a simple command-line tool for working with Ethereum keyfiles. +ethkey is a simple command-line tool for working with Essentia keyfiles. # Usage diff --git a/cmd/ethkey/main.go b/cmd/ethkey/main.go index 9fa8c7187e..607402add9 100644 --- a/cmd/ethkey/main.go +++ b/cmd/ethkey/main.go @@ -34,7 +34,7 @@ var gitCommit = "" var app *cli.App func init() { - app = utils.NewApp(gitCommit, "an Ethereum key manager") + app = utils.NewApp(gitCommit, "an Essentia key manager") app.Commands = []cli.Command{ commandGenerate, commandInspect, diff --git a/cmd/faucet/faucet.go b/cmd/faucet/faucet.go index fc026c77e5..d3cf62cfc7 100644 --- a/cmd/faucet/faucet.go +++ b/cmd/faucet/faucet.go @@ -66,7 +66,7 @@ var ( apiPortFlag = flag.Int("apiport", 8080, "Listener port for the HTTP API connection") ethPortFlag = flag.Int("ethport", 30303, "Listener port for the devp2p connection") bootFlag = flag.String("bootnodes", "", "Comma separated bootnode essnode URLs to seed with") - netFlag = flag.Uint64("network", 0, "Network ID to use for the Ethereum protocol") + netFlag = flag.Uint64("network", 0, "Network ID to use for the Essentia protocol") statsFlag = flag.String("ethstats", "", "Ethstats network monitoring auth string") netnameFlag = flag.String("faucet.name", "", "Network name to assign to the faucet") @@ -81,7 +81,7 @@ var ( captchaSecret = flag.String("captcha.secret", "", "Recaptcha secret key to authenticate server side") noauthFlag = flag.Bool("noauth", false, "Enables funding requests without authentication") - logFlag = flag.Int("loglevel", 3, "Log level to use for Ethereum and the faucet") + logFlag = flag.Int("loglevel", 3, "Log level to use for Essentia and the faucet") ) var ( @@ -184,16 +184,16 @@ func main() { // request represents an accepted funding request. type request struct { Avatar string `json:"avatar"` // Avatar URL to make the UI nicer - Account common.Address `json:"account"` // Ethereum address being funded + Account common.Address `json:"account"` // Essentia address being funded Time time.Time `json:"time"` // Timestamp when the request was accepted Tx *types.Transaction `json:"tx"` // Transaction funding the account } -// faucet represents a crypto faucet backed by an Ethereum light client. +// faucet represents a crypto faucet backed by an Essentia light client. type faucet struct { config *params.ChainConfig // Chain configurations for signing - stack *node.Node // Ethereum protocol stack - client *ethclient.Client // Client connection to the Ethereum chain + stack *node.Node // Essentia protocol stack + client *ethclient.Client // Client connection to the Essentia chain index []byte // Index page to serve up on the web keystore *keystore.KeyStore // Keystore containing the single signer @@ -227,9 +227,9 @@ func newFaucet(genesis *core.Genesis, port int, essnodes []*discv5.Node, network if err != nil { return nil, err } - // Assemble the Ethereum light client protocol + // Assemble the Essentia light client protocol if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) { - cfg := eth.DefaultConfig + cfg := ess.DefaultConfig cfg.SyncMode = downloader.LightSync cfg.NetworkId = network cfg.Genesis = genesis @@ -275,7 +275,7 @@ func newFaucet(genesis *core.Genesis, port int, essnodes []*discv5.Node, network }, nil } -// close terminates the Ethereum connection and tears down the faucet. +// close terminates the Essentia connection and tears down the faucet. func (f *faucet) close() error { return f.stack.Stop() } @@ -425,7 +425,7 @@ func (f *faucet) apiHandler(conn *websocket.Conn) { continue } } - // Retrieve the Ethereum address to fund, the requesting user and a profile picture + // Retrieve the Essentia address to fund, the requesting user and a profile picture var ( username string avatar string @@ -636,7 +636,7 @@ func sendSuccess(conn *websocket.Conn, msg string) error { } // authTwitter tries to authenticate a faucet request using Twitter posts, returning -// the username, avatar URL and Ethereum address to fund on success. +// the username, avatar URL and Essentia address to fund on success. func authTwitter(url string) (string, string, common.Address, error) { // Ensure the user specified a meaningful URL, no fancy nonsense parts := strings.Split(url, "/") @@ -645,7 +645,7 @@ func authTwitter(url string) (string, string, common.Address, error) { } // Twitter's API isn't really friendly with direct links. Still, we don't // want to do ask read permissions from users, so just load the public posts and - // scrape it for the Ethereum address and profile URL. + // scrape it for the Essentia address and profile URL. res, err := http.Get(url) if err != nil { return "", "", common.Address{}, err @@ -665,7 +665,7 @@ func authTwitter(url string) (string, string, common.Address, error) { } address := common.HexToAddress(string(regexp.MustCompile("0x[0-9a-fA-F]{40}").Find(body))) if address == (common.Address{}) { - return "", "", common.Address{}, errors.New("No Ethereum address found to fund") + return "", "", common.Address{}, errors.New("No Essentia address found to fund") } var avatar string if parts = regexp.MustCompile("src=\"([^\"]+twimg.com/profile_images[^\"]+)\"").FindStringSubmatch(string(body)); len(parts) == 2 { @@ -675,7 +675,7 @@ func authTwitter(url string) (string, string, common.Address, error) { } // authGooglePlus tries to authenticate a faucet request using GooglePlus posts, -// returning the username, avatar URL and Ethereum address to fund on success. +// returning the username, avatar URL and Essentia address to fund on success. func authGooglePlus(url string) (string, string, common.Address, error) { // Ensure the user specified a meaningful URL, no fancy nonsense parts := strings.Split(url, "/") @@ -686,7 +686,7 @@ func authGooglePlus(url string) (string, string, common.Address, error) { // Google's API isn't really friendly with direct links. Still, we don't // want to do ask read permissions from users, so just load the public posts and - // scrape it for the Ethereum address and profile URL. + // scrape it for the Essentia address and profile URL. res, err := http.Get(url) if err != nil { return "", "", common.Address{}, err @@ -699,7 +699,7 @@ func authGooglePlus(url string) (string, string, common.Address, error) { } address := common.HexToAddress(string(regexp.MustCompile("0x[0-9a-fA-F]{40}").Find(body))) if address == (common.Address{}) { - return "", "", common.Address{}, errors.New("No Ethereum address found to fund") + return "", "", common.Address{}, errors.New("No Essentia address found to fund") } var avatar string if parts = regexp.MustCompile("src=\"([^\"]+googleusercontent.com[^\"]+photo.jpg)\"").FindStringSubmatch(string(body)); len(parts) == 2 { @@ -709,7 +709,7 @@ func authGooglePlus(url string) (string, string, common.Address, error) { } // authFacebook tries to authenticate a faucet request using Facebook posts, -// returning the username, avatar URL and Ethereum address to fund on success. +// returning the username, avatar URL and Essentia address to fund on success. func authFacebook(url string) (string, string, common.Address, error) { // Ensure the user specified a meaningful URL, no fancy nonsense parts := strings.Split(url, "/") @@ -720,7 +720,7 @@ func authFacebook(url string) (string, string, common.Address, error) { // Facebook's Graph API isn't really friendly with direct links. Still, we don't // want to do ask read permissions from users, so just load the public posts and - // scrape it for the Ethereum address and profile URL. + // scrape it for the Essentia address and profile URL. res, err := http.Get(url) if err != nil { return "", "", common.Address{}, err @@ -733,7 +733,7 @@ func authFacebook(url string) (string, string, common.Address, error) { } address := common.HexToAddress(string(regexp.MustCompile("0x[0-9a-fA-F]{40}").Find(body))) if address == (common.Address{}) { - return "", "", common.Address{}, errors.New("No Ethereum address found to fund") + return "", "", common.Address{}, errors.New("No Essentia address found to fund") } var avatar string if parts = regexp.MustCompile("src=\"([^\"]+fbcdn.net[^\"]+)\"").FindStringSubmatch(string(body)); len(parts) == 2 { @@ -742,13 +742,13 @@ func authFacebook(url string) (string, string, common.Address, error) { return username + "@facebook", avatar, address, nil } -// authNoAuth tries to interpret a faucet request as a plain Ethereum address, +// authNoAuth tries to interpret a faucet request as a plain Essentia address, // without actually performing any remote authentication. This mode is prone to // Byzantine attack, so only ever use for truly private networks. func authNoAuth(url string) (string, string, common.Address, error) { address := common.HexToAddress(regexp.MustCompile("0x[0-9a-fA-F]{40}").FindString(url)) if address == (common.Address{}) { - return "", "", common.Address{}, errors.New("No Ethereum address found to fund") + return "", "", common.Address{}, errors.New("No Essentia address found to fund") } return address.Hex() + "@noauth", "", address, nil } diff --git a/cmd/faucet/faucet.html b/cmd/faucet/faucet.html index ab41b2c871..93423dc169 100644 --- a/cmd/faucet/faucet.html +++ b/cmd/faucet/faucet.html @@ -49,7 +49,7 @@
- +
@@ -222,7 +222,7 @@ var dashboardContent = `
-

The Mist browser is an Electron based desktop application to load and interact with Ethereum enabled third party web DApps. Beside all the functionality provided by the Ethereum Wallet, Mist is an extended web-browser where loaded pages have access to the Ethereum network via a web3.js provider, and may also interact with users' own accounts (given proper authorization and confirmation of course).

+

The Mist browser is an Electron based desktop application to load and interact with Essentia enabled third party web DApps. Beside all the functionality provided by the Essentia Wallet, Mist is an extended web-browser where loaded pages have access to the Essentia network via a web3.js provider, and may also interact with users' own accounts (given proper authorization and confirmation of course).

Under the hood the browser is backed by a go-ethereum full node, meaning that a mid range machine is assumed. Similarly, synchronization is based on fast-sync, which will download all blockchain data from the network and make it available to the wallet. Light nodes cannot currently fully back the wallet, but it's a target actively pursued.


To connect with the Mist browser, you'll need to initialize your private network first via Geth as Mist does not currently support calling Geth directly. To initialize your local chain, download {{.GethGenesis}} and run: @@ -241,7 +241,7 @@ var dashboardContent = `