Class: Coinbase::Configuration
- Inherits:
-
Object
- Object
- Coinbase::Configuration
- Defined in:
- lib/coinbase.rb
Overview
Configuration object for the Coinbase SDK.
Instance Attribute Summary collapse
-
#api_key_name ⇒ Object
Returns the value of attribute api_key_name.
-
#api_key_private_key ⇒ Object
Returns the value of attribute api_key_private_key.
-
#api_url ⇒ Object
Returns the value of attribute api_url.
-
#base_sepolia_client ⇒ Object
readonly
Returns the value of attribute base_sepolia_client.
-
#base_sepolia_rpc_url ⇒ Object
Returns the value of attribute base_sepolia_rpc_url.
-
#debug_api ⇒ Object
Returns the value of attribute debug_api.
-
#use_server_signer ⇒ Object
Returns the value of attribute use_server_signer.
Instance Method Summary collapse
-
#api_client ⇒ Coinbase::Client::ApiClient
Returns the API client.
-
#from_json(file_path = 'cdp_api_key.json') ⇒ Object
Sets configuration values based on the provided CDP API Key JSON file.
-
#initialize ⇒ Configuration
constructor
Initializes the configuration object.
Constructor Details
#initialize ⇒ Configuration
Initializes the configuration object.
62 63 64 65 66 67 68 |
# File 'lib/coinbase.rb', line 62 def initialize @base_sepolia_rpc_url = 'https://sepolia.base.org' @base_sepolia_client = Jimson::Client.new(@base_sepolia_rpc_url) @api_url = 'https://api.cdp.coinbase.com' @debug_api = false @use_server_signer = false end |
Instance Attribute Details
#api_key_name ⇒ Object
Returns the value of attribute api_key_name.
59 60 61 |
# File 'lib/coinbase.rb', line 59 def api_key_name @api_key_name end |
#api_key_private_key ⇒ Object
Returns the value of attribute api_key_private_key.
59 60 61 |
# File 'lib/coinbase.rb', line 59 def api_key_private_key @api_key_private_key end |
#api_url ⇒ Object
Returns the value of attribute api_url.
59 60 61 |
# File 'lib/coinbase.rb', line 59 def api_url @api_url end |
#base_sepolia_client ⇒ Object (readonly)
Returns the value of attribute base_sepolia_client.
58 59 60 |
# File 'lib/coinbase.rb', line 58 def base_sepolia_client @base_sepolia_client end |
#base_sepolia_rpc_url ⇒ Object
Returns the value of attribute base_sepolia_rpc_url.
58 59 60 |
# File 'lib/coinbase.rb', line 58 def base_sepolia_rpc_url @base_sepolia_rpc_url end |
#debug_api ⇒ Object
Returns the value of attribute debug_api.
59 60 61 |
# File 'lib/coinbase.rb', line 59 def debug_api @debug_api end |
#use_server_signer ⇒ Object
Returns the value of attribute use_server_signer.
59 60 61 |
# File 'lib/coinbase.rb', line 59 def use_server_signer @use_server_signer end |
Instance Method Details
#api_client ⇒ Coinbase::Client::ApiClient
Returns the API client.
94 95 96 |
# File 'lib/coinbase.rb', line 94 def api_client @api_client ||= Coinbase::Client::ApiClient.new(Middleware.config) end |
#from_json(file_path = 'cdp_api_key.json') ⇒ Object
Sets configuration values based on the provided CDP API Key JSON file. file in the root directory by default.
73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/coinbase.rb', line 73 def from_json(file_path = 'cdp_api_key.json') # Expand paths to respect shortcuts like ~. file_path = File.(file_path) raise InvalidConfiguration, 'Invalid configuration file type' unless file_path.end_with?('.json') file = File.read(file_path) data = JSON.parse(file) @api_key_name = data['name'] @api_key_private_key = data['privateKey'] end |