diff options
author | Kris Shinn <raggamuffin.music@gmail.com> | 2019-01-21 22:38:13 +0800 |
---|---|---|
committer | Guillaume Ballet <gballet@gmail.com> | 2019-01-21 22:38:13 +0800 |
commit | f91312dbdbb9e04ef578946226e5d8069d5dfd5a (patch) | |
tree | 0f931ae2c506db08c4732e3f0b718a115571924d /cmd/geth | |
parent | 105008b6a121ade656bf63125cecb467e2434d95 (diff) | |
download | go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar.gz go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar.bz2 go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar.lz go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar.xz go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.tar.zst go-tangerine-f91312dbdbb9e04ef578946226e5d8069d5dfd5a.zip |
GraphQL master FF for review (#18445)
* Initial work on a graphql API
* Added receipts, and more transaction fields.
* Finish receipts, add logs
* Add transactionCount to block
* Add types and .
* Update Block type to be compatible with ethql
* Rename nonce to transactionCount in Account, to be compatible with ethql
* Update transaction, receipt and log to match ethql
* Add query operator, for a range of blocks
* Added ommerCount to Block
* Add transactionAt and ommerAt to Block
* Added sendRawTransaction mutation
* Add Call and EstimateGas to graphQL API
* Refactored to use hexutil.Bytes instead of HexBytes
* Replace BigNum with hexutil.Big
* Refactor call and estimateGas to use ethapi struct type
* Replace ethgraphql.Address with common.Address
* Replace ethgraphql.Hash with common.Hash
* Converted most quantities to Long instead of Int
* Add support for logs
* Fix bug in runFilter
* Restructured Transaction to work primarily with headers, so uncle data is reported properly
* Add gasPrice API
* Add protocolVersion API
* Add syncing API
* Moved schema into its own source file
* Move some single use args types into anonymous structs
* Add doc-comments
* Fixed backend fetching to use context
* Added (very) basic tests
* Add documentation to the graphql schema
* Fix reversion for formatting of big numbers
* Correct spelling error
* s/BigInt/Long/
* Update common/types.go
* Fixes in response to review
* Fix lint error
* Updated calls on private functions
* Fix typo in graphql.go
* Rollback ethapi breaking changes for graphql support
Co-Authored-By: Arachnid <arachnid@notdot.net>
Diffstat (limited to 'cmd/geth')
-rw-r--r-- | cmd/geth/config.go | 8 | ||||
-rw-r--r-- | cmd/geth/main.go | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/cmd/geth/config.go b/cmd/geth/config.go index f1e281196..62eeef701 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -30,6 +30,7 @@ import ( "github.com/ethereum/go-ethereum/cmd/utils" "github.com/ethereum/go-ethereum/dashboard" "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/graphql" "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/params" whisper "github.com/ethereum/go-ethereum/whisper/whisperv6" @@ -176,6 +177,13 @@ func makeFullNode(ctx *cli.Context) *node.Node { utils.RegisterShhService(stack, &cfg.Shh) } + // Configure GraphQL if required + if ctx.GlobalIsSet(utils.GraphQLEnabledFlag.Name) { + if err := graphql.RegisterGraphQLService(stack, cfg.Node.GraphQLEndpoint(), cfg.Node.GraphQLCors, cfg.Node.GraphQLVirtualHosts, cfg.Node.HTTPTimeouts); err != nil { + utils.Fatalf("Failed to register the Ethereum service: %v", err) + } + } + // Add the Ethereum Stats daemon if requested. if cfg.Ethstats.URL != "" { utils.RegisterEthStatsService(stack, cfg.Ethstats.URL) diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 97033c692..fb5ec20eb 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -141,6 +141,11 @@ var ( utils.RPCEnabledFlag, utils.RPCListenAddrFlag, utils.RPCPortFlag, + utils.GraphQLEnabledFlag, + utils.GraphQLListenAddrFlag, + utils.GraphQLPortFlag, + utils.GraphQLCORSDomainFlag, + utils.GraphQLVirtualHostsFlag, utils.RPCApiFlag, utils.WSEnabledFlag, utils.WSListenAddrFlag, |