npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

atticus-ao-localnet

v1.0.0

Published

> [!CAUTION] > **This is an experimental repo that is intended for power users developing core aspects of the `ao` > computer, new `ao` unit implementations, or custom `ao` modules.** > > **As such, this repo may become out-of-date and may not work out-of

Downloads

2

Readme

[!CAUTION] This is an experimental repo that is intended for power users developing core aspects of the ao computer, new ao unit implementations, or custom ao modules.

As such, this repo may become out-of-date and may not work out-of-the-box, and no Tier 1 support from the is offered for this repository.

If you want to run aos processes, please refer to its source code or the ao cookbook.

ao-localnet

Run a complete AO Computer testbed, locally, with Docker Compose.

Purpose

The repo may helpful if you are doing one or more of the following:

  1. Contributing to @permaweb/ao.
  2. Compiling ao modules using the ao dev-cli.
    • And you want to avoid publishing each revision onto Arweave mainnet.
  3. You are developing an ao component (e.g. a cu, mu, or su).
    • And you want to plug that into a working environment.
  4. You are developing Lua code that will be loaded into aos processes.
    • And you want to avoid bricking your aos processes on ao testnet.

Quick Start Guide

  1. Clone this repo.
  2. Setup the necessary Arweave wallets:
    1. cd into the wallets directory (at the root of this repo).
    2. Run generateAll.sh to create new wallets for everything.
    3. Run printWalletAddresses.mjs to list the addresses. (Useful for step 4, below.)
  3. Boot up the localnet:
    1. Run docker compose up --detach.
      • You will need to have the Docker daemon running.
      • This could take a while the first time you run it.
    • You will have many services now bound to ports in the 4000 range (all subject to change):
      • http://localhost:4000/ - ArLocal (Arweave gateway/mock)
      • http://localhost:4007/ - A simple Arweave bundler/uploader
      • http://localhost:4004/ - An ao compute unit (cu).
      • http://localhost:4002/ - An ao messenger unit (cm).
      • http://localhost:4003/ - An ao schedule unit (su).
  4. Seed data onto the blockchain:
    1. cd into the seed directory (at the root of this repo).
    2. Run ./download-aos-module.sh to pull a WASM binary from testnet.
    3. Set your wallet addresses (from step 2, above) in ./seed-for-aos.sh, then run it.
  5. Run aos:
    1. cd into the aos directory (at the root of this repo).
    2. Run ./aos.

Additional Services

[!NOTE] You can optionally enable the following services. Powered by Docker Compose profiles

  • ScAR (Arweave block explorer):
    • Run docker compose --profile explorer up.
    • http://localhost:4006/
  • ArDrive Web:
    • Run docker compose --profile ardrive up.
    • http://localhost:4001/
    • Not fully functional. See below for more details.
  • Turbo Upload Service (an Arweave uploader/bundlr):
    • Run docker compose --profile turbo up.
    • http://localhost:4005/
    • Not fully functional. See below for more details.

Development Status of this Repo

[!WARNING] ao and aos are have just started working, but configuration (such as port mappings) will change soon and more usability features are planned.

  • ✅ ArLocal instance mocking Arweave and acting as Arweave gateway.
    • ℹ️ There are some features missing from the upstream that tend to be used by block explorers, so we are using this fork, which fixes:
      • ✅ Added GET /tx/pending to fetch pending transaction ids
      • ✅ Added GET /raw/:txid to download raw transaction data
      • ✅ Fix some bugs in chunk uploading/downloading
      • ⬜ Blocks don't include block_size (#1)
      • ⬜ Blocks don't include reward_addr (#3)
      • ⬜ Blocks don't include weave_size (#2)
  • ✅ Arweave block explorer (web interface).
    • ✅ ScAR - A lightweight option from here, forked here, with improvements.
    • ⬜ ArweaveWebWallet - Another option from here which powers https://arweave.app/.
  • ✅ Fully functional ao computer, using the reference implementations.
    • cu
    • mu
    • su
  • ✅ Successfully launching aos processes on the ao localnet.
  • ⬜ Live reloading for cu and mu development.
  • ⬜ nginx reverse proxy, for hostname routing
    • Currently in testing. This looks promising.
  • ⬜ DNS routing
    • ✅ Routing *.ao-localnet.xyz to 127.0.0.1 and ::1
    • ℹ️ All containers should be reachable via *.ao-localnet.xyz domain names.
  • ⚠️ Fully functional ArDrive Web (web interface)
    • ⏳ Known issues:
      • ℹ️ Arweave gateway port bug:
      • ⚠️ ArDrive Web is using so-called "sandboxed urls" where it contacts the gateway on a subdomain that is the base32 encoded transaction id of the Arweave transaction.
        • This can be resolved by adding 127.0.0.1 *.localhost to your /etc/hosts file.
        • Probably will be fixed with DNS routing, see above.
      • ⚠️ Cannot upload files due to missing Payment Service.
        • ArDrive Web doesn't respect its own configuration file setting: "useTurboPayment": false
        • Probably because this class member is hard coded?