smart contracts

The features of smart contracts include programming language like Solidity, executed on a blockchain like with the Ethereum Virtual Machine, and risk management.

See: "An Introduction to Smart Contracts and Their Potential and Inherent Limitations" posted by Stuart D. Levi and Alex B. Lipton, Skadden, Arps, Slate, Meagher & Flom LLP.

uniswap smart contracts and oracles.

truffle is a development environment, testing framework and asset pipeline for Ethereum.