web3-0.9.1.0: examples/scale/Main.hs
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
module Main where
import Codec.Scale
import Codec.Scale.Skip
import Data.ByteArray.HexString (HexString)
import Data.Word (Word32)
import Generics.SOP (Generic)
import qualified GHC.Generics as GHC (Generic)
data MyTransaction a = Tx
{ from :: Word32
, to :: Word32
, balance :: Compact Integer
, note :: Skip a
}
deriving (Show, Eq, GHC.Generic, Generic, Encode, Decode)
main :: IO ()
main = do
let alice = 42
bob = 15
my_tx = Tx { from = alice
, to = bob
, balance = Compact 1000000
, note = Skip "Hello!"
}
putStrLn "Encoded transaction:"
print (encode my_tx :: HexString)