算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
revnet-modeler【设计与创意】Revnet simulation and planning tool for modeling token dynamics. Use when: (1) planning revnet parameters before deployment, (2) visualizing treasury/token dynamics over time, (3) comparing different scenarios (loans, cash-outs, investments), (4) understanding chart outputs, (5) explaining simulation results. Covers stage configuration, event sequenc…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Planning revnet parameters requires understanding how different configurations affect treasury dynamics, token distribution, and participant outcomes over time. The modeler simulates these dynamics before deployment.
https://github.com/mejango/rev-sim/index.html
Open in browser to use the interactive modeler.
Each stage can configure:
| Lever | Description | Effect |
|---|---|---|
| Stage Start Day | When this stage begins | Defines stage transitions |
| Initial Issuance Rate | Tokens minted per $ | Higher = more tokens per payment |
| Issuance Cut % | % reduction per period | Creates supply scarcity over time |
| Issuance Cut Frequency | Days between cuts | Controls cut rate (7, 14, 28 days) |
| Split % | % of minted tokens to splits | Team/reserved allocation |
| Cash-Out Tax Rate | Bonding curve tax (0-100%) | Higher = more treasury retention |
| Auto-Issuances | Automatic token mints | Pre-scheduled distributions |
The modeler supports these event types:
| Event | Description | Treasury Effect |
|---|---|---|
investment | External payment | + backing, + supply |
revenue | Operating revenue | + backing, + supply |
loan | Take loan against tokens | - backing (net of fees) |
payback-loan | Repay loan | + backing |
cashout | Redeem tokens | - backing, - supply |
Events are labeled by participant (e.g., "Team", "Investor A", "Customer").
| Chart | Shows | Key Insight |
|---|---|---|
| Treasury Backing | Total backing over time | Overall treasury health |
| Cash Out Value | Per-token redemption value | Floor price dynamics |
| Issuance Price | Token mint cost | Ceiling price with cuts |
| Cash Flows | Inflows/outflows by day | Event impact on treasury |
| Chart | Shows | Key Insight |
|---|---|---|
| Token Distribution | Tokens by holder (liquid + locked) | Who holds what |
| Ownership % | Percentage ownership over time | Dilution visualization |
| Token Valuations | Dollar value of holdings | Participant wealth |
| Token Performance | ROI % by participant | Investment returns |
| Chart | Shows | Key Insight |
|---|---|---|
| Loan Potential | Max borrowable by holder | Available liquidity |
| Loan Status | Outstanding loan amounts | Current debt |
| Outstanding Loans | Loan values over time | Debt trajectory |
| Tokens Backing Loans % | % of tokens as collateral | Leverage exposure |
| Chart | Shows | Key Insight |
|---|---|---|
| Fee Flows | Internal vs external fees | Fee destination breakdown |
The modeler uses a state machine (StateMachine.getStateAtDay(day)) that tracks:
{
day: number,
revnetBacking: number, // Treasury balance
totalSupply: number, // Total token supply
tokensByLabel: { // Tokens held by each participant
"Team": 1000,
"Investor A": 500,
...
},
dayLabeledInvestorLoans: { // Outstanding loan amounts by participant
"Team": 50000,
...
},
loanHistory: { // Detailed loan records
"Team": [
{ amount: 50000, remainingTokens: 100, ... }
]
}
}
calculateCashOutValueForEvent(tokensToCash, totalSupply, backing, cashOutTax) {
const proportionalShare = backing * tokensToCash / totalSupply
const taxMultiplier = (1 - cashOutTax) + (tokensToCash * cashOutTax / totalSupply)
return proportionalShare * taxMultiplier
}
// Internal fee (to treasury)
const internalFee = loanAmount * 0.025 // 2.5%
// External fee (to protocol)
const externalFee = loanAmount * 0.035 // 3.5%
// Interest (after grace period)
const annualInterest = 0.05 // 5% after 6-month grace period
The modeler includes pre-configured scenarios:
| Scenario | Description |
|---|---|
conservative-growth | Steady investment, gradual expansion |
hypergrowth | Rapid investment, high volatility |
bootstrap-scale | Small start, then scale-up |
vc-fueled | Large early investment, then revenue |
community-driven | Many small investments |
boom-bust | Growth followed by cash-outs |
Each has variants: -with-loans, -with-exits
Planning a revnet with team allocation and investor entry:
Stage 1 (Days 0-90):
- Issuance: 1,000,000 tokens/$
- Split: 30% to Team
- Cash-out tax: 10%
Events:
Day 1: Team invests $10,000
Day 30: Investor A invests $50,000
Day 60: Revenue $20,000
Day 90: Team takes loan (50% of tokens)
Run simulation → Review:
- Token Distribution: Team 30%, Investor A 50%, Revenue recipients 20%
- Team's loan potential and actual loan
- Treasury backing trajectory
- Cash-out value for each participant
https://github.com/mejango/rev-sim/index.htmlhttps://github.com/mejango/rev-sim/js/state.jshttps://github.com/mejango/rev-sim/js/chartManager.js/revnet-economics skill