En SOL-fil er et script skrevet i Solidity-scriptsproget, som svarer til C++ og JavaScript. Den indeholder Solidity kildekode, som bruges til at oprette smarte kontrakter til blockchain-transaktioner. Solidity anvendes af flere blockchain-platforme, såsom Ethereum, Tendermint og Counterparty.
Smarte kontrakter er eksekverbare programmer, der er bygget i scriptingsproget Solidity. De giver brugerne mulighed for at sende værdi (penge) til andre ved hjælp af en digital valuta, såsom Ethereum. Værdien kaldes "Ether" og svarer til Bitcoin, en anden kryptovaluta. SOL-filer, der bruges til at gennemføre Ethereum-transaktioner, behandles af Ethereum Virtual Machine (EVM). De registrerer oplysninger såsom afsender, modtager og det overførte beløb. Når kontrakten er afsluttet, tilføjes transaktionsoplysningerne til blockchainen. Smartkontrakter kan oprettes til en række forskellige formål, f.eks. blindauktioner, crowdfunding, afstemninger og tegnebøger med flere signaturer.
SOL-filer understøttes af Dapp, som er en Solidity-pakkehåndtering, et build-værktøj og en deploymentassistent. De understøttes også af forskellige programmer med Solidity-plugin installeret, såsom Visual Studio, Visual Studio Code, Vim og Sublime Text.
NOTAT: Smartkontrakter er også kendt som decentrale apps (dapps) på Ethereum.