web3-0.9.0.0: examples/polkadot/Main.hs
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Monad.IO.Class (liftIO)
import qualified Network.Polkadot.Api.Chain as Chain
import qualified Network.Polkadot.Api.State as State
import qualified Network.Polkadot.Api.System as System
import Network.Web3.Provider (Provider (..), runWeb3')
main :: IO ()
main = do
result <- runWeb3' (WsProvider "127.0.0.1" 9944) $ do
name <- System.name
liftIO . putStrLn $ "System name: " ++ show name
best <- Chain.getBlockHash Nothing
liftIO . putStrLn $ "Best hash: " ++ show best
State.getRuntimeVersion best
case result of
Left err -> error (show err)
Right version -> putStrLn (show version)