1.19.0-staging-1 • Published 1 month ago

@startbahn/startrail v1.19.0-staging-1

Weekly downloads
76
License
GPL-3.0-only
Repository
github
Last release
1 month ago

Startrail

:memo: Abstraction

This is a repository that manages smart contract and utility scripts on the blockchain side. There are basically solidity files as well as scripts that are for deploying and upgrading smart contracts. If you want to check the server-side app or the front-end app, please go to other repositories.

:wrench: Build Status

CircleCI

:file_folder: Directory

(ProjectRoot)
├── abi                                         // hardhat-exporter generated
├── artifacts                                   // hardhat compiler generated JSON
├── bin                                         // project utility shell scripts
├── contracts
│   ├── archived                                // contracts from prior releases
│   ├── bulk
│   ├── common
│   ├── lib
│   ├── licensedUser
│   ├── name
│   ├── proxyAdmin
│   ├── startrailregistry
│   └── test                                    // contracts used in tests only
├── deploy                                      // hardhat-deploy scripts (used in test fixtures)
├── deployments                                 // deployed addresses registry [eg. mainnet/deploy.json]
├── docs                                        // documentation - diagrams, markdown, ...
├── hardhat.config.js
├── package.json
├── README.md
├── scripts                                     // scripts interacting with hardhat
├── test                                        // test scripts
├── utils                                       // shared logic - tests, scripts, deploy all use these

:dizzy: Services

We have several smart contracts in this project. Each contract is basically independent from others, and they are separated in each directory. An explanation of each service is described in Notion.

:page_with_curl: StartrailRegistry Manages non-fungible token, which is inherited the ERC721.

:page_with_curl: NameRegistry Registry of contract addresses.

:page_with_curl: LicensedUserManager Manages licensed user wallets.

:page_with_curl: BulkIssue Manages the bulk issing logic.

You can see the overall relation of contracts here. :mag: Startrail Contract Overall

:minidisc: Setup local

Prerequistites

  • Git
  • Yarn ^1.22.5
  • Node ^14.15.0

Setup

> git clone git@github.com:startbahn/startrail.git
> cd app/
> yarn

Live networks (optional)

If you need to interact with live deployments (eg. rinkeby) then set a provider in .env with the variable <network>_PROVIDER_URL.

If you need to send transactions to a live environment then set a private key in .env with the variable <network>_PRIVATE_KEY. This key will be the default key used for sending transactions from hardhat scripts or hardhat console commands.

Remember to use --network <network> with the hardhat cli. See the hardhat docs for more information about using different networks https://hardhat.org/config/#networks-configuration

:bulb: Tests

All tests are run using hardhat and make use of it's built in features including the ethers js integration. See the hardhat docs for information about tests in hardhat.

To run the tests use yarn test or npx hardhat test

CircleCI is configured to run all the tests also. See .circleci/config.yml for details.

:bookmark_tabs: Test strategy

:bookmark: Contract Addresses

You can check the address of each contract in deploy.json under deployments/. It is managed according to each network such as Mainnet and Rinkeby, as well as in some cases the branch name.

See also the well-used address list here. :mag: Important Address List

:crystal_ball: Mainnet

Etherscan URLs

StartrailRegistry NameRegistry Administrator - Not yet deployed LicensedUserManager - Not yet deployed BulkIssue

deploy.json

mainnet/deploy.json

:crystal_ball: Rinkeby

Release Branch ( Stable Development )

rinkeby-release/deploy.json

Develop Branch ( Active Development )

rinkeby-develop/deploy.json

:mega: Important Documents

Event List

:bookmark_tabs: Startrail Event List

Restriction List

:bookmark_tabs: Startrail Restriction List

Main features

:bookmark_tabs: Certificate Creation Flow

:bookmark_tabs: Bulk Issuance

:bookmark_tabs: Transfer Ownership

Deployment

:bookmark_tabs: Startrail Contract Deployment

:bookmark_tabs: Upgradable Deployment Details

:bookmark_tabs: File Sharing

Test

:bookmark_tabs: Test strategy

Utility Script

:bookmark_tabs: Utility Script

1.19.0-staging-1

1 month ago

1.19.0-beta-2

2 months ago

1.19.0-beta-1

2 months ago

1.18.0

3 months ago

1.18.0-staging-1

4 months ago

1.18.0-beta-1

4 months ago

1.17.0

4 months ago

1.17.0-staging-1

5 months ago

1.17.0-beta-2

5 months ago

1.17.0-beta-1

11 months ago

1.16.0

11 months ago

1.16.0-beta-9

12 months ago

1.16.0-staging-1

12 months ago

1.16.0-beta-8

1 year ago

1.15.0-beta-2

1 year ago

1.15.0-beta-3

1 year ago

1.15.0

1 year ago

1.16.0-beta-6

1 year ago

1.16.0-beta-7

1 year ago

1.16.0-beta-5

1 year ago

1.16.0-beta-2

1 year ago

1.16.0-beta-3

1 year ago

1.16.0-beta-4

1 year ago

1.16.0-beta-1

1 year ago

1.14.0

1 year ago

1.15.0-beta-1

1 year ago

1.14.0-staging

1 year ago

1.14.0-beta-2

1 year ago

1.14.0-beta-1

1 year ago

1.15.0-staging

1 year ago

1.13.0-beta-9

2 years ago

1.13.0-beta-8

2 years ago

1.13.0-beta-7

2 years ago

1.13.0-beta-10

2 years ago

1.13.0

2 years ago

1.13.0-beta-4

2 years ago

1.13.0-beta-3

2 years ago

1.13.0-beta-2

2 years ago

1.13.0-beta-6

2 years ago

1.13.0-beta-5

2 years ago

1.12.0

2 years ago

1.12.0-beta-1

2 years ago

1.12.0-beta-2

2 years ago

1.13.0-beta-1

2 years ago

1.11.0

2 years ago

1.11.0-staging

2 years ago

1.11.0-beta-1

2 years ago

1.11.0-beta-2

2 years ago

1.10.0

2 years ago

1.10.0-node-16

2 years ago

1.9.0

2 years ago

1.8.0

3 years ago

1.8.0-rc1

3 years ago

1.9.0-beta-2

3 years ago

1.9.0-beta-1

3 years ago

1.8.0-beta-13

3 years ago

1.8.0-beta-12

3 years ago

1.8.0-beta-11

3 years ago

1.8.0-beta-10

3 years ago

1.8.0-beta-6

3 years ago

1.8.0-beta-5

3 years ago

1.8.0-beta-8

3 years ago

1.8.0-beta-7

3 years ago

1.8.0-beta-9

3 years ago

1.8.0-beta-4

3 years ago

1.7.0

3 years ago

1.7.0-rc2

3 years ago

1.7.0-rc1

3 years ago

1.6.0

3 years ago

1.5.1-beta-1

3 years ago

1.5.0-polygon

3 years ago

1.5.0

3 years ago

1.4.3-staging

3 years ago

1.8.0-beta-3

3 years ago

1.8.0-beta-2

3 years ago

1.8.0-beta-1

3 years ago

1.7.0-beta-2

3 years ago

1.7.0-beta-1

3 years ago

1.5.0-beta-7

3 years ago

1.4.3

3 years ago

1.5.0-beta-6

3 years ago

1.4.1-beta-2

3 years ago

1.4.1-beta-1

3 years ago

1.6.0-beta-1

3 years ago

1.6.0-beta-2

3 years ago

1.5.0-beta-5

3 years ago

1.5.0-beta-4

3 years ago

1.4.1

3 years ago

1.4.0-beta-6

3 years ago

1.4.0

3 years ago

1.4.0-beta-5

3 years ago

1.5.0-beta-1

3 years ago

1.5.0-beta-3

3 years ago

1.5.0-beta-2

3 years ago

1.4.0-beta-4

3 years ago

1.4.0-beta-3

3 years ago

1.4.0-beta-2

3 years ago

1.4.0-beta-1

3 years ago

1.3.0

3 years ago

1.3.0-beta-4

3 years ago

1.3.0-beta-5

3 years ago

1.3.0-beta-3

3 years ago

1.3.0-beta-2

3 years ago

1.3.0-beta-1

3 years ago

1.2.1-mumbai-8

3 years ago

1.2.1-mumbai-7

3 years ago

1.2.1-mumbai-6

3 years ago

1.2.1-mumbai-5

3 years ago

1.2.1-mumbai-4

3 years ago

1.2.1-mumbai-2

3 years ago

1.2.1-mumbai-3

3 years ago

1.4.0-mumbai-1

3 years ago

1.4.0-lum-beta-6

3 years ago

1.4.0-lum-beta-5

3 years ago

1.4.0-lum-beta-4

3 years ago

1.4.0-lum-beta-3

3 years ago

1.4.0-lum-beta-2

3 years ago

1.4.0-lum-beta-1

3 years ago