-
Notifications
You must be signed in to change notification settings - Fork 21
Security tightening #218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Security tightening #218
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
9bedfbd
wip
MichaelTrestman 51cf1c6
wip
MichaelTrestman cde39a4
wip
MichaelTrestman 516b24e
wip
MichaelTrestman 7c468d1
wip
MichaelTrestman ba78865
wip
MichaelTrestman 5890ac0
wip
MichaelTrestman afcf7df
wip
MichaelTrestman 5854355
wip
MichaelTrestman 5b22f11
wip
MichaelTrestman 7577f8d
wip
MichaelTrestman 1a9264c
wip
MichaelTrestman 514e535
wip
MichaelTrestman b66f771
wip
MichaelTrestman 3e9f8e2
wip
MichaelTrestman 2a88f17
wip
MichaelTrestman b1be2a3
wip
MichaelTrestman b0a3c47
wip
MichaelTrestman 53e76b1
wip
MichaelTrestman 25eda01
wip
MichaelTrestman 4f3d8ce
wip
MichaelTrestman 4dacedc
wip
MichaelTrestman 5ef744c
wip
MichaelTrestman 1e975aa
wip
MichaelTrestman 6761714
wip
MichaelTrestman b5aa389
wip
MichaelTrestman a4bb320
wip
MichaelTrestman 76589f3
wip
MichaelTrestman 08740b7
wip
MichaelTrestman c800657
wip
MichaelTrestman b73a6ea
wip
MichaelTrestman 57be435
wip
MichaelTrestman c9d8884
wip
MichaelTrestman 30fa677
Merge branch 'main' into security-tightening-march2026
MichaelTrestman 5b3f5d1
remove --announce-only from btcli until added
MichaelTrestman 1b783af
Merge branch 'main' into security-tightening-march2026
MichaelTrestman 7e25459
wip
MichaelTrestman 2fce18f
wip
MichaelTrestman 69c3377
Merge branch 'main' into security-tightening-march2026
MichaelTrestman f91eeb3
wip
MichaelTrestman 473505c
Merge branch 'main' into security-tightening-march2026
MichaelTrestman 4c5aab3
wip
MichaelTrestman 83ec260
wip
MichaelTrestman 4163ac4
wip
MichaelTrestman 72a5fc1
wip
MichaelTrestman 4806742
wip
MichaelTrestman e895f65
wip
MichaelTrestman 5504ff4
wip
MichaelTrestman dad5069
wip
MichaelTrestman fa7841e
wip
MichaelTrestman e0edfdf
wip
MichaelTrestman fe86b35
Update initialminstake on custom.md
chideraao d3d421b
Update docs/keys/coldkey-hotkey-security.md
MichaelTrestman 3c1fea0
Update docs/keys/proxies/index.md
MichaelTrestman 798a0a2
Merge branch 'main' into security-tightening-march2026
MichaelTrestman b24d81a
wip
MichaelTrestman ab5b32c
wip
MichaelTrestman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| --- | ||
| title: "Inspecting the Chain with Polkadot.js" | ||
| --- | ||
|
|
||
| # Inspecting the Chain with Polkadot.js | ||
|
|
||
|
|
||
| The [Polkadot.js Blockchain Explorer Browser App: `https://polkadot.js.org/apps/`](https://polkadot.js.org/apps/) offers a way to connect to Bittensor's blockchain layer (Subtensor) in order to query chain state, submit extrinsics, and inspect runtime metadata. This page covers the features most relevant to Bittensor users. | ||
|
|
||
| ## Connecting to Bittensor | ||
|
|
||
| Use these pre-configured links: | ||
|
|
||
| - **Mainnet (Finney):** [polkadot.js/apps/?rpc=wss://entrypoint-finney.opentensor.ai:443](https://polkadot.js.org/apps/?rpc=wss://entrypoint-finney.opentensor.ai:443) | ||
| - **Testnet:** [polkadot.js/apps/?rpc=wss://test.finney.opentensor.ai:443](https://polkadot.js.org/apps/?rpc=wss://test.finney.opentensor.ai:443) | ||
|
|
||
| Or click the network selector in the top-left corner and enter a custom WebSocket endpoint under **Development → Custom**. | ||
|
|
||
| ## Chain state (storage queries) | ||
|
|
||
| **Developer → Chain state → Storage** | ||
|
|
||
| This is where you read on-chain parameters and account data. Select a pallet (e.g. `subtensorModule`, `proxy`, `balances`) and a storage item, then click **+** to query. | ||
|
|
||
| Example queries: | ||
|
|
||
| | Query | What it returns | | ||
| |---|---| | ||
| | `subtensorModule.networkRateLimit()` | Blocks between subnet registrations | | ||
| | `subtensorModule.minStake()` | Minimum transaction amount for staking operations | | ||
| | `subtensorModule.immunityPeriod(netuid)` | Immunity period in blocks for a subnet | | ||
| | `proxy.announcements(account)` | Pending proxy announcements | | ||
|
|
||
|
|
||
| ### Storage maps vs storage values | ||
|
|
||
| Some storage items are **values** (global constants, no parameters needed). Others are **maps** keyed by account, netuid, or other identifiers. For maps, fill in the key field before querying. | ||
|
|
||
| ## Constants | ||
|
|
||
| **Developer → Chain state → Constants** | ||
|
|
||
| Runtime constants are values baked into the chain code that don't change without a runtime upgrade. Select a pallet and constant name to view. | ||
|
|
||
| | Constant | What it returns | | ||
| |---|---| | ||
| | `balances.existentialDeposit` | Minimum account balance (500 RAO) | | ||
| | `proxy.maxProxies` | Maximum proxy relationships per account | | ||
| | `proxy.maxPending` | Maximum pending announcements per delegate | | ||
| | `proxy.announcementDepositBase` | Base deposit for proxy announcements | | ||
|
|
||
| ## Runtime calls | ||
|
|
||
| **Developer → Runtime calls** | ||
|
|
||
| Runtime calls execute read-only functions that may involve computation (not just storage reads). Useful for derived values like the current subnet registration cost. | ||
|
|
||
| | Call | What it returns | | ||
| |---|---| | ||
| | `SubnetInfoRuntimeApi.get_subnet_info(netuid)` | Full subnet info including price, emission, reserves | | ||
| | `TransactionPaymentApi.query_info(uxt, len)` | Fee estimate for an extrinsic | | ||
|
|
||
| ## Extrinsics | ||
|
|
||
| **Developer → Extrinsics** | ||
|
|
||
| Submit transactions directly. This is useful for operations not yet supported by `btcli`, or when signing with Polkadot Vault (QR code signing from an air-gapped device). | ||
|
|
||
| To submit an extrinsic: | ||
| 1. Select the signing account. | ||
| 2. Choose the pallet and call. | ||
| 3. Fill in parameters. | ||
| 4. Click **Submit Transaction**. | ||
|
|
||
| For Polkadot Vault users, the app will display a QR code to scan with the Vault device for air-gapped signing. | ||
|
|
||
| ## Block explorer | ||
|
|
||
| **Network → Explorer** | ||
|
|
||
| Browse recent blocks and their extrinsics. Click any block number to see the extrinsics it contains and their events. | ||
|
|
||
| - Querying at a specific block: In Chain state, toggle "include option" and enter a block hash to query historical state. | ||
| - Decoding call data: Paste raw call data under Developer → Decode to see the human-readable extrinsic. | ||
| - Metadata updates: If you're using Polkadot Vault, you must re-load chain metadata after each Bittensor runtime upgrade. See [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security#hardware-solution-polkadot-vault). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| import Admonition from '@theme/Admonition'; | ||
|
|
||
| export const ProxyColdkeyWarning = () => ( | ||
| <Admonition type="warning" title="Use a proxy coldkey for these operations"> | ||
| <p> | ||
| The operations on this page require a coldkey. Your primary coldkey should remain in cold storage (hardware wallet) and never be loaded onto a machine running <code>btcli</code> or the Bittensor SDK. Use a scoped, delayed proxy coldkey to perform these operations via <code>btcli</code> or the SDK. See <a href="/keys/coldkey-hotkey-security">Coldkey and Hotkey Workstation Security</a> and <a href="/keys/proxies">Proxies</a>. | ||
| </p> | ||
| </Admonition> | ||
| ); |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.