Class: Solrengine::Rpc::Configuration
- Inherits:
-
Object
- Object
- Solrengine::Rpc::Configuration
- Defined in:
- lib/solrengine/rpc/configuration.rb
Constant Summary collapse
- NETWORKS =
%w[mainnet devnet testnet].freeze
- DEFAULT_RPC_URLS =
{ "mainnet" => "https://api.mainnet-beta.solana.com", "devnet" => "https://api.devnet.solana.com", "testnet" => "https://api.testnet.solana.com" }.freeze
- DEFAULT_WS_URLS =
{ "mainnet" => "wss://api.mainnet-beta.solana.com", "devnet" => "wss://api.devnet.solana.com", "testnet" => "wss://api.testnet.solana.com" }.freeze
Instance Attribute Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#network ⇒ Object
20 21 22 |
# File 'lib/solrengine/rpc/configuration.rb', line 20 def network @network ||= ENV.fetch("SOLANA_NETWORK", "mainnet") end |
#rpc_url ⇒ Object
24 25 26 |
# File 'lib/solrengine/rpc/configuration.rb', line 24 def rpc_url @rpc_url ||= env_rpc_url || DEFAULT_RPC_URLS[network] end |
#ws_url ⇒ Object
28 29 30 |
# File 'lib/solrengine/rpc/configuration.rb', line 28 def ws_url @ws_url ||= env_ws_url || DEFAULT_WS_URLS[network] end |
Instance Method Details
#explorer_base ⇒ Object
36 37 38 |
# File 'lib/solrengine/rpc/configuration.rb', line 36 def explorer_base mainnet? ? "https://solscan.io" : "https://explorer.solana.com" end |
#explorer_cluster ⇒ Object
40 41 42 |
# File 'lib/solrengine/rpc/configuration.rb', line 40 def explorer_cluster mainnet? ? "" : "?cluster=#{network}" end |
#mainnet? ⇒ Boolean
32 33 34 |
# File 'lib/solrengine/rpc/configuration.rb', line 32 def mainnet? network == "mainnet" end |