Safe, simple, flexible building-blocks for smart-contract systems.
DSAuth-protected ERC20 token vault
A vault is useful any time you need to segregate token holdings into several distinct buckets, or when you want to set up a shared account, perhaps owned by a ds-multisig.
DSMultiVault is able to hold any number of different ERC20 tokens.
DSVault is bound to a single token. It is useful as a handle on the token
that the system can pass around without also needing to transfer the tokens
themselves, or passing a Multivault/Token pair.
Vaults are protected by ds-auth which means they support sophisticated access control out of the box.
Whoever owns or controls a
DSVault can tell it to perform token operations,
such as transferring X amount of token Y to account Z, or even(provided the
vault has the necessary approval) transferring X amount of token Y from account
W to account Z.
Anyone is free to make deposits to a vault by simply transferring tokens directly into it using the a transfer function. The owner of a vault can also ask the vault to perform the transfer.
Vaults are very staightforward to understand and think about, and can be a useful building block in many different kinds of applications.
We believe that the free software movement is the most important cultural predecessor to the modern-day renaissance in decentralized technologies.
To catalyze the growth of this ecosystem, and to empower hackers to participate, we’re building a comprehensive suite of blockchain-oriented developer tools in the spirit of the Unix philosophy.
Dapp is all you need to start developing for Ethereum. It creates new dapps, runs Solidity unit tests, debugs, deploys, launches testnets, and more.
Seth is a handy tool for slicing and dicing transactions, querying the blockchain, converting between data formats, performing remote calls, and other everyday tasks.
Hevm is our own EVM
implementation with a nimble terminal-based Solidity debugger.
It’s used for
We also maintain Dappsys, an audited collection of smart contract building blocks designed to complement each other. They include;
ds-token— a generic EIP-20 coin;
ds-group— a multisig;
ds-guard— a flexible authority rule;
ds-proxy— a transaction proxy; and
ds-cache— a store of expiring values.
Using these proven parts lets us focus on the novel features of the systems we develop. We share Dappsys to benefit the smart contract ecosystem.