
Security News
Vite+ Joins the Push to Consolidate JavaScript Tooling
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
@venusprotocol/venus-protocol
Advanced tools
The Venus Protocol is a BNB Chain collection of smart contracts for supplying or borrowing assets. Through the vToken contracts, accounts on the blockchain supply capital (BNB or BEP-20 tokens) to receive vTokens or borrow assets from the protocol (holding other assets as collateral). The protocol will also enable the minting of VAI, which is the first synthetic stablecoin on Venus that aims to be pegged to 1 USD. VAI is minted by the same collateral that is supplied to the protocol. The Venus vToken contracts track these balances and algorithmically set interest rates for borrowers and suppliers.
Before getting started with this repo, please read:
Interested in contributing? Please checkout our contributing guidelines
Isolated pool is the updated version of the Venus protocol. The Venus "Core Pool" uses the codebase in this repository. On the other hand, Isolated pools use the codebase in the isolated-pools repository.
We detail a few of the core contracts in the Venus protocol.
yarn docgen
To run venus, pull the repository from GitHub and install its dependencies. You will need yarn or npm installed.
git clone https://github.com/VenusProtocol/venus-protocol
cd venus-protocol
yarn install --lock-file # or `npm install`
Contract tests are defined under the tests directory. To run the tests run:
yarn test
FORKED_NETWORK
var in the .env
file. An env variable with the name ARCHIVE_NODE_<FORKED_NETWORK>
is also required.To run code coverage, run:
npx hardhat coverage
npx hardhat deploy
./deploy
directory - It will skip only deployment scripts which implement a skip
condition - Here is example of a skip condition: - Skipping deployment script on bsctestnet
network func.skip = async (hre: HardhatRuntimeEnvironment) => hre.network.name !== "bsctestnet";
hardhat
hardhat.config.ts
- Add MNEMONIC
variable in .env
file - Execute deploy command by adding --network <network_name>
in the deploy command above - E.g. npx hardhat deploy --network bsctestnet
tags
for example: - func.tags = ["MockTokens"];
--tags "<tag_name>,<tag_name>..."
to the deployment command will execute only the scripts containing the tags.To simulate what contracts would be deployed on a given network the deployment scripts support running on a forked network. To run the deployment scripts on a forked network the HARDHAT_FORK_NETWORK
env variable needs to be set.
For example
HARDHAT_FORK_NETWORK=ethereum npx hardhat deploy
Contract addresses deployed before hardhat-deploy
was adopted are available in the networking
directory in JSON files by network name.
Contract addresses and abis deployed with hardhat deploy are exported in the deployments
directory. To create a summary export of all contracts deployed to a network run.
$ yarn hardhat --network <network-name> --export ./deployments/<network-name>.json
In order to verify the source code of already deployed contracts, run:
npx hardhat etherscan-verify --network <network_name>
Make sure you have added ETHERSCAN_API_KEY
in .env
file.
To lint the code, run:
yarn lint
To format the code, run:
yarn prettier
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '\*_/_.{js,ts}'
npx eslint '\*_/_.{js,ts}' --fix
npx prettier '\*_/_.{json,sol,md}' --check
npx prettier '\*_/_.{json,sol,md}' --write
npx solhint 'contracts/\*_/_.sol'
npx solhint 'contracts/\*_/_.sol' --fix
MNEMONIC="<>" BSC_API_KEY="<>" npx hardhat run ./script/hardhat/deploy.ts --network testnet
For any concerns with the protocol, open an issue or visit us on Telegram to discuss.
For security concerns, please contact the administrators of our telegram chat.
© Copyright 2023, Venus Protocol
10.0.0 (2025-09-29)
FAQs
The Venus Money Market
The npm package @venusprotocol/venus-protocol receives a total of 1,458 weekly downloads. As such, @venusprotocol/venus-protocol popularity was classified as popular.
We found that @venusprotocol/venus-protocol demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
Security News
Ruby Central’s incident report on the RubyGems.org access dispute sparks backlash from former maintainers and renewed debate over project governance.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.