Giter Club home page Giter Club logo

bitauth-ide's Introduction

read the guide CI Codecov Join Chat on Telegram X (formerly Twitter) Follow GitHub stars

Bitauth IDE

Bitauth IDE is an online, integrated development environment for bitcoin (cash) contracts.

To get started, check out the built-in guide. An introductory video is also available in this blog post, and you can also get help or share feedback in the Bitauth IDE Telegram group.

Debug Unlocking and Locking Scripts Together

Unlocking scripts can be edited alongside the locking scripts they unlock. The interactive evaluation viewer is constantly updated to display every step of the resulting evaluation as you type.

Debugging the combined evaluation of an unlocking script followed by a locking script

Inspect the Evaluation in DevTools

Click on any stack item to log the program state at that step to the JavaScript developer console. The Libauth library is available at window.libauth to make debugging easier.

A screenshot of the JavaScript developer console after clicking on line 3 in the evaluation viewer

Create and Manage Entities and Variables

Create and modify the templates entities and the variables they contribute to wallets and evaluations.

The entity settings editor

Describe and Document Wallet Templates

Review and modify the documentation included in the active template.

The template settings editor

Import and Export JSON Wallet Templates

Projects can be shared and re-imported in JSON format via files, sharable links, or plain text.

JSON import and export dialog

Contributing

Pull Requests are welcome!

This application requires Yarn for development. With Node.js installed, the yarn package manager can be installed by running corepack enable. Once yarn is installed:

git clone https://github.com/bitauth/bitauth-ide.git
cd bitauth-ide
yarn
yarn start

This will open Bitauth IDE in development mode.

Bitauth IDE uses Yarn's Zero-Installs strategy โ€“ all of Bitauth IDE's dependencies are tracked in an independent git repository, and the dependency repo is automatically shallow-cloned into the .yarn directory.

To run all tests:

yarn test

To run all end-to-end tests locally, collect screenshots, and analyze code coverage:

yarn cov

Note that the end-to-end (e2e) tests also visually compare screenshots across test run. Because screenshots will differ slightly between platforms, this repo only stores and records results for linux, the platform used by the continuous integration (CI) environment. Screenshots for macOS (darwin) and Windows (win32) are not committed to the repo, so you will need to run the tests once (prior to making any changes) to locally generate the baseline screenshots for your platform.

You can also run the e2e tests on the same platform as the CI environment using Docker. First, make sure Docker is running locally (consider using Docker Desktop), then:

yarn start
# in another tab:
yarn e2e:docker

To run the e2e tests in Playwright's UI mode:

yarn e2e

To open the e2e test report in a browser (e.g. to review visual differences between screenshots):

yarn e2e:report

To build and run the production Progressive Web App (PWA):

yarn build
yarn preview

bitauth-ide's People

Contributors

bitjson avatar dependabot[bot] avatar msalcala11 avatar mainnet-pat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.