Skip to content

Emulator Feature: Bootstrap with default contracts #27

@srinjoyc

Description

@srinjoyc

👋   If you are interested in working on this issue, please check out the Getting Started guide on HackerEarth!

Description (Problem Statement)

The emulator is currently bootstrapped with (original contracts):

  • FlowFees
  • FlowServiceAccount
  • FlowStorageFees
  • FlowToken
  • FungibleToken

There are also other contracts that are very commonly used and it would be practical if emulator came with those as well (new contracts):

An emulator flag should be introduced -onlyBasicContracts (choose better name if possible) when it is true only the original contracts should be deployed. By default it should be false, so all contracts are deployed.

The output of the deployed emulator contracts, when you start the emulator:

image

Should reflect the change. Also this display should be improved for readability (one line per contract).

Experience Required

  • Familiarity with Go - able to parse and read emulator repo
  • Familiarity with Cadence - able to parse and read the deployed contracts

Minimum Feature Set (Acceptance Criteria)

When starting the emulator the default deployed contracts should also include the new ones by default.

When starting the emulator with a -onlyBasicContracts flag only the original contracts should be deployed

The output of the emulator when starting it up should reflect actually deployed contracts.

Software Requirements

Maintainability

  • The tools or libraries used to construct the solution should be well vetted and well maintained
  • Code should be written in a way that can be extended with new functionality and clear enough for open-source developers to contribute to.

Other Requirements

Documentation

  • The existing documentation needs to reflect this change

Judging Criteria

Resources

Metadata

Metadata

Assignees

Labels

Local Development ToolsTier 3Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions