بنقرة واحدة
weft-status
Check the status of a Weft milestone — onchain state, verification progress, and builder info
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Check the status of a Weft milestone — onchain state, verification progress, and builder info
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Generate a multi-chapter Builder Journey narrative from Weft milestone attestations using Kimi — each milestone is a thread woven into the project's fabric
Conversational demo coordinator — chains verification, chronicle, and animation into a single natural-language-driven flow. Tries real data first, clearly labels demo fallback.
Update ENS text records after milestone verification — portable onchain reputation
Generate a Manim animation visualising the Weft verification flow as a weaving — threads appear (evidence), interlace (peer consensus), and form fabric (verified milestone card)
Generate a human-readable narrative from a Weft attestation using Kimi (moonshot-v1-128k)
Verify a Weft milestone — collect evidence, check deployment, count unique callers, build attestation, and optionally submit onchain verdict
| name | weft-status |
| description | Check the status of a Weft milestone — onchain state, verification progress, and builder info |
| version | 1.1.0 |
| metadata | {"hermes":{"tags":["web3","status","ethereum","0g"],"category":"devops","requires_toolsets":["terminal"]}} |
export ETH_RPC_URL="https://evmrpc-testnet.0g.ai"
export WEFT_CONTRACT_ADDRESS="0xcc768d56b0053b1b2df5391dde989be3f859474c"
cast call $WEFT_CONTRACT_ADDRESS \
"milestones(bytes32)(bytes32,bytes32,bytes32,address,uint64,uint64,uint256,bool,bool,bool,uint8,uint8,bytes32)" \
<MILESTONE_HASH> \
--rpc-url $ETH_RPC_URL
python3 -c "
import time
from agent.lib.jsonrpc import JsonRpcClient
from agent.lib.weft_milestone_reader import read_milestone
rpc = JsonRpcClient('$ETH_RPC_URL')
m = read_milestone(rpc, '$WEFT_CONTRACT_ADDRESS', '<MILESTONE_HASH>')
now = int(time.time())
if m.finalized:
if m.verified:
state = 'VERIFIED'
emoji = '\u2705'
color = 'brightgreen'
else:
state = 'FAILED'
emoji = '\u274c'
color = 'red'
elif now >= m.deadline:
state = 'AWAITING VOTES'
emoji = '\u23f3'
color = 'yellow'
else:
remaining = m.deadline - now
hours = remaining // 3600
mins = (remaining % 3600) // 60
state = f'ACTIVE ({hours}h {mins}m left)'
emoji = '\U0001f7e2'
color = 'blue'
staked = int(m.totalStaked) / 1e18
deadline_str = time.strftime('%b %d, %Y', time.gmtime(m.deadline))
print(f'')
print(f' {emoji} {state}')
print(f'')
print(f' Builder: {m.builder[:6]}...{m.builder[-4:]}')
print(f' Staked: {staked:.4f} ETH')
print(f' Deadline: {deadline_str}')
print(f' Verifiers: {m.verifiedVotes}/{m.verifierCount} verified')
print(f' Finalized: {m.finalized}')
print(f' Released: {m.released}')
if m.finalEvidenceRoot and m.finalEvidenceRoot != '0x' + '00' * 32:
print(f' Evidence: {m.finalEvidenceRoot[:18]}...{m.finalEvidenceRoot[-8:]}')
print(f'')
print(f' View: weft.build/project/{m_hash}')
print(f'')
"
Always present the status as a clean, scannable block. Example for a verified milestone:
✓ VERIFIED
Builder: 0x80fd...ac04
Staked: 0.0100 ETH
Deadline: Apr 28, 2026
Verifiers: 3/3 verified
Finalized: True
Released: False
Evidence: 0xabc123...def456
View: weft.build/project/0x0f93e22d...
Example for an active milestone:
🟢 ACTIVE (2h 15m left)
Builder: 0x80fd...ac04
Staked: 0.0100 ETH
Deadline: Apr 28, 2026
Verifiers: 0/0 verified
Finalized: False
Released: False
View: weft.build/project/0x0f93e22d...