Introduction
Understanding eUTxOs
Changelog
1.
Helios language
❱
1.1.
Comments
1.2.
Variables
1.3.
Primitive types
1.4.
Container types
1.5.
Branching
1.6.
Print, error, assert
1.7.
Functions
❱
1.7.1.
Multiple return values
1.7.2.
Void functions
1.7.3.
Anonymous functions
1.7.4.
Unused arguments
1.7.5.
Optional arguments
1.7.6.
Named arguments
1.7.7.
Function values
1.7.8.
Example: Collatz sequence
1.8.
Operators
1.9.
Structs
1.10.
Enums
1.11.
Methods
❱
1.11.1.
Associated functions and constants
1.11.2.
Automatic methods
1.11.3.
Example: Rational
1.12.
Structure of a script
❱
1.12.1.
Example: always_succeeds
1.12.2.
Contract Parameters
1.13.
Modules
1.14.
Builtins
❱
1.14.1.
Address
1.14.2.
AssetClass
1.14.3.
Bool
1.14.4.
ByteArray
1.14.5.
Credential
1.14.6.
Data
1.14.7.
DatumHash
1.14.8.
DCert
1.14.9.
Duration
1.14.10.
Int
1.14.11.
List
1.14.12.
Map
1.14.13.
MintingPolicyHash
1.14.14.
Option
1.14.15.
OutputDatum
1.14.16.
PubKey
1.14.17.
PubKeyHash
1.14.18.
ScriptContext
1.14.19.
ScriptHash
1.14.20.
ScriptPurpose
1.14.21.
StakeKeyHash
1.14.22.
StakingCredential
1.14.23.
StakingHash
1.14.24.
StakingPurpose
1.14.25.
StakingValidatorHash
1.14.26.
String
1.14.27.
Time
1.14.28.
TimeRange
1.14.29.
Tx
1.14.30.
TxId
1.14.31.
TxInput
1.14.32.
TxOutput
1.14.33.
TxOutputId
1.14.34.
ValidatorHash
1.14.35.
Value
2.
Helios API
❱
2.1.
Setup
❱
2.1.1.
Deno
2.2.
Compiling Helios sources
2.3.
Generating datums and redeemers
2.4.
Building transactions
❱
2.4.1.
Transaction inputs
2.4.2.
Transaction outputs
2.4.3.
Collateral
2.4.4.
Explicit signers
2.4.5.
Minting
2.4.6.
Finalizing
2.4.7.
Signing and submitting
2.5.
Example: PicoSwap
❱
2.5.1.
Main script
2.5.2.
Generating datums
2.5.3.
Contract helper class
2.5.4.
Creating a new sale
2.5.5.
Canceling a sale
2.5.6.
Buying for-sale assets
2.6.
API Reference
❱
2.6.1.
Globals
2.6.2.
Functions
2.6.3.
Address
2.6.4.
Assets
2.6.5.
BlockfrostV0
2.6.6.
ByteArrayData
2.6.7.
CborData
2.6.8.
Cip30Handle
2.6.9.
Cip30Wallet
2.6.10.
CoinSelection
2.6.11.
ConstrData
2.6.12.
Datum
2.6.13.
DatumHash
2.6.14.
FuzzyTest
2.6.15.
HeliosData
2.6.16.
IntData
2.6.17.
ListData
2.6.18.
MapData
2.6.19.
MintingPolicyHash
2.6.20.
Network
2.6.21.
NetworkEmulator
2.6.22.
NetworkParams
2.6.23.
Program
2.6.24.
PubKeyHash
2.6.25.
Signature
2.6.26.
StakeAddress
2.6.27.
StakeKeyHash
2.6.28.
StakingValidatorHash
2.6.29.
Tx
2.6.30.
TxId
2.6.31.
TxOutput
2.6.32.
TxRefInput
2.6.33.
TxWitnesses
2.6.34.
UplcBool
2.6.35.
UplcByteArray
2.6.36.
UplcData
2.6.37.
UplcDataValue
2.6.38.
UplcInt
2.6.39.
UplcPair
2.6.40.
UplcProgram
2.6.41.
UplcString
2.6.42.
UplcUnit
2.6.43.
UplcValue
2.6.44.
UserError
2.6.45.
UTxO
2.6.46.
ValidatorHash
2.6.47.
Value
2.6.48.
Wallet
2.6.49.
WalletEmulator
2.6.50.
WalletHelper
3.
Helios CLI
❱
3.1.
Setup
❱
3.1.1.
Install helios-cli
3.1.2.
Setup cardano-node
3.1.3.
Wallet setup
3.2.
Using helios-cli
3.3.
Example: Always succeeds
3.4.
Example: Time lock
4.
Advanced concepts
❱
4.1.
Exploits
4.2.
Intermediate representation
4.3.
Simplification
4.4.
Minting native assets
❱
4.4.1.
Signature based minting
4.4.2.
Unique minting
4.5.
Vesting contract
4.6.
English auction
4.7.
Oracle pools
4.8.
DApp recommendations
4.9.
Tx finalization
Light
Rust
Coal
Navy
Ayu
The Helios Smart Contract Language
Setup
This section explains how to:
install
helios-cli
install
cardano-node
create a wallet using
cardano-cli
These steps require the following dependencies:
node
npm
docker