Crypto field guide
Explore public blockchain data, test a browser wallet on Sepolia, and understand signatures without putting real funds on this server.
What is installed?
| Component | Purpose |
|---|---|
| PHP server + SQLite | Authenticated dashboard, bounded research client, cached reports and usage counters. |
| Browser wallet client | EIP-1193 connection, Sepolia balance and user-confirmed test transfer. Your wallet manages keys. |
| Cryptography experiment | Ed25519 signing, tamper detection and SHA-256 chaining; an illustration, not a Bitcoin/Ethereum node. |
| Counter.sol | Original Solidity example for Remix VM or Sepolia deployment. |
| Optional Bitcoin Core | Separate-server setup script with regtest default and explicit mainnet opt-in. |
The shared account runs no mining, staking, exchange or full-node daemon. No deposit address, custodial wallet or seed phrase is created.
Recreate everything on this account
cd /home1/leephdco/DEVEL/Crypto bash install-crypto.sh bash launch-crypto.sh check bash launch-crypto.sh demo bash launch-crypto.sh prices bash launch-crypto.sh bitcoin bash launch-crypto.sh sepolia bash launch-crypto.sh status
The single installer embeds the entire website, source files, guide, launcher, tests and optional node script. It checks prerequisites, verifies payload hashes, initializes storage, publishes only public assets, tests HTTPS and saves results in logs/checks-*.tsv and logs/install-*.log. It requires PHP 8.1+ with SQLite, cURL and Sodium, Python 3, Bash, flock, timeout, tar, base64 and sha256sum. No package manager or root privileges are needed. Reruns preserve configuration, research records and budgets. They verify the embedded release rather than downloading moving dependencies.
Root: /home1/leephdco/DEVEL/Crypto. Public wrapper: /home1/leephdco/public_html/iicsm/crypto. Private databases, logs and configuration stay outside the web root. The installer will not overwrite an existing unmanaged website directory.
Login and everyday workflow
- Sign in at Crypto Lab as
ownerusing your current AI password. - Fetch a market snapshot, fee estimate or Sepolia block. These are explicit actions, not background polling.
- Open a saved result to inspect its retrieval time, provider and raw fields. Cached data may be up to five minutes old.
- Run the local cryptography experiment. Inspect its signature, hash and tamper result.
- For wallet experiments, open the website in Chrome or another browser with an Ethereum wallet extension. The Codex in-app browser may not expose a wallet.
Change passwords in the AI workspace. Crypto verifies the existing AI password hash directly and rejects sessions after its account version changes; it never copies the password or stores a second hash. Only the AI owner has Crypto access. An unavailable AI database causes login to fail closed.
Research data and limits
Kraken provides BTC/USD and ETH/USD market snapshots. In its ticker response, a[0] is ask, b[0] is bid and c[0] is last trade price; other fields are described in the linked API reference. mempool.space supplies estimated Bitcoin fee rates in satoshis per virtual byte. Estimated fee = rate × transaction virtual size; the actual size and confirmation time are not guaranteed. PublicNode supplies the Sepolia chain ID and latest block number.
Server fetches have a 12-second timeout and a 256 KiB response ceiling. There are at most 48 requests/day, 12 MiB/day and 100 MiB/month of reserved response bytes. A reservation is committed before network I/O, so failures count. Quotas use UTC boundaries and persist through reinstallation. No provider retries or paid fallback occur. These are application caps, not the host's guaranteed allocation, and other websites consume the same hosting account. Wallet-provider traffic uses your browser and is outside the server caps.
Set research_enabled to false in config.json to disable research fetches. Limits may be lowered but cannot exceed compiled ceilings. URLs and methods are fixed; the server cannot act as an arbitrary proxy or broadcast transactions. Reports retain the last 30 entries. Providers can change availability, data or terms.
What the cryptography experiment proves
It generates an ephemeral Ed25519 signing key and public key. With message m and secret key sk, a signature σ = Sign(sk,m) is checked by Verify(pk,m,σ). Altering the amount changes m and causes verification to fail. The private key is erased after signing and is never saved. A demonstration record hash is H(previous_hash || m || signature_hex), where H is SHA-256 and || denotes concatenation.
This demonstrates authentication and tamper evidence. It does not implement distributed consensus, replay-resistant account state, proof of work, fees, a mempool or a transferable token. The displayed Alice/Bob balances are illustrative. Ed25519 is not the signature algorithm used for ordinary Ethereum accounts.
Sepolia wallet workflow
- Use a test-only wallet account and select Sepolia (chain ID 11155111, hexadecimal
0xaa36a7). - Click Connect Sepolia wallet and approve account access in your wallet.
- Obtain test ETH from a faucet linked by the Ethereum network documentation. Faucet availability and prerequisites vary; no faucet credentials are requested here.
- Click Read test balance.
- Optionally enter another test address and request exactly 0.0001 test ETH. Review the transaction in your wallet; you choose whether to approve it.
- Check confirmation in your wallet or a Sepolia explorer. A submitted hash is not proof of confirmation.
The client checks the chain before wallet actions and includes Sepolia's chain ID in the requested transaction. It does not switch to mainnet or handle private keys. Changing networks or accounts clears the displayed connection status. A wallet extension is an external prerequisite that the Bash installer cannot install into your browser.
Build the example smart contract
The included Counter.sol uses Solidity 0.8.30. Anyone can increment its unsigned integer and read the result; it has no payable function or token balance. This deliberately simple example is not a financial contract.
- Open the official Remix IDE and create a file named Counter.sol using the included source.
- Select compiler 0.8.30, compile and inspect any warnings.
- Select a Remix VM environment first. Deploy the contract without connecting a wallet. Read value (initially 0), call increment, then confirm value is 1.
- For a public test, select the injected wallet provider with Sepolia selected and test ETH available. Review deployment in your wallet, then run the same experiment.
Compilation and deployment are user-driven external steps; they are not run by the hosting installer. Remix VM is an ephemeral browser development network. A deployed contract address and transaction belong to the specific network; never assume a mainnet address is the same deployment.
Optional real Bitcoin server and client
setup-node.sh is included but not executed on JustHost. Copy it to a separate x86_64 Linux machine with a dedicated non-root user, at least 2 GiB RAM and 20 GiB free disk for this pruned setup. Verify provider permissions and bandwidth before mainnet use. Bitcoin Core synchronization downloads a substantial historical chain even when pruning; this is unsuitable for the small research website budget.
# On your separate Linux machine: bash setup-node.sh regtest ~/iicsm-bitcoin-regtest/start-node.sh # In another terminal: ~/iicsm-bitcoin-regtest/client.sh getblockchaininfo ~/iicsm-bitcoin-regtest/client.sh stop # Optional mainnet configuration, explicitly selected: I_ACCEPT_MAINNET_SYNC=YES bash setup-node.sh mainnet ~/iicsm-bitcoin-mainnet/start-node.sh
The script installs checksum-pinned Bitcoin Core 31.1 server and CLI binaries, creates private cookie-authenticated loopback RPC configuration and launcher scripts, and prints/saves checks. It preserves an existing bitcoin.conf and data. It does not start a process, configure a public RPC port, add a service, generate wallet keys or move funds. Stop cleanly with the client before server maintenance.
Wallet support is disabled by default. If you deliberately want a wallet on your separate machine, stop the node, change disablewallet=1 to disablewallet=0 in its private bitcoin.conf, restart, and use Bitcoin Core's wallet documentation. Begin on regtest. Decide wallet security and backup practices before using real funds. The website does not connect to this optional RPC service; use the included CLI through SSH. Review the original release signatures and upgrade policy before production use.
Sources, maintenance and limitations
- Ethereum networks and testnet faucets
- Ethereum JSON-RPC and EIP-1193 wallet provider
- Solidity 0.8.30 and Remix documentation
- Kraken ticker definitions, mempool.space API, PublicNode
- Bitcoin Core releases and verification
- JustHost resource policy
Read saved logs after an error. HTTP failures preserve earlier results; do not mistake cached records for fresh data. Reinstall using the same script to check the application. Keep passwords, private keys and personal financial records out of research exports. This is an educational and research tool, not investment, tax or legal advice. Market information can be incomplete or delayed; source terms apply.