Giter Site home page Giter Site logo

onflow / flow Goto Github PK

View Code? Open in Web Editor NEW
353.0 52.0 151.0 85.68 MB

Flow is a fast, secure, and developer-friendly blockchain built to support the next generation of games, apps, and the digital assets that power them 🌊

Home Page: https://onflow.org

License: Apache License 2.0

Makefile 0.24% Go 98.41% Shell 1.35%
blockchain smart-contracts onflow

flow's Introduction

Flow is a fast, secure, and developer-friendly blockchain built to support the next generation of games, apps, and the digital assets that power them.

  • For a high-level overview of Flow's architecture, check out the primer.
  • Details about the protocol can be found in the technical papers.
  • For more documentation and tutorials, check out developer portal.

Find out more about Flow Improvement Proposals (FLIPs) in Flow FLIPs

flow's People

Contributors

10thfloor avatar alxflw avatar andriidiachuk avatar bjartek avatar bthaile avatar danuio avatar dsainati1 avatar franklywatson avatar guitarheroua avatar j1010001 avatar janezpodhostnik avatar jordanschalm avatar joshuahannan avatar kay-zee avatar koko1123 avatar kshitijchaudhary666 avatar laynelafrance avatar lealobanov avatar m4ksio avatar peterargue avatar psiemens avatar sideninja avatar sifmoon avatar sjonpaulbrown avatar srinjoyc avatar synzhu avatar turbolent avatar ulyanaandrukhiv avatar vishalchangrani avatar zhangchiqing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flow's Issues

Introducing Flow Feature Phases (3Fs)

Stage 1 - 5 for Flow features - Consistency for how we think about phases of features

  • maturity
  • stability
  • documentation
  • testing required (How are we testing? Who are we testing with? What is the feature phase (and corresponding level of testing required?)

Update Testing Best Practices & Requirements for Each Phase

  • Communicate testing process for externals (testnet v mainnet, when, what)

WIP here

BlockEvents to return timestamp

Instructions

Issue To Be Solved

When fetching events you might want to show when they happend. Right now you get the blockId back and you can do a seperate request to fetch the acutal timestamp for that. However if fetching events for a large range that will generate a lot of uneccesary requests.

(Optional): Suggest A Solution

BlockEvents returns a Timestamp field

(Optional): Context

Working on a flow.Event -> Discord webhook script

Sometimes get error when calling GetTransactionResult

Problem

Sometimes get error when calling GetTransactionResult of Access API and no transaction result is returned.

Steps to Reproduce

Get the transaction result of the transaction bcFyY1Udl9KasyOtT01LIru0T63OosLw4N5ViluHkf4= and will get the following error with flow-sdk-js.

Error: failed to find: rpc error: code = Internal desc = failed to retrieve result from execution node: rpc error: code = Unimplemented desc = unknown service flow.execution.ExecutionAPI

Acceptance Criteria

Context

<what are you currently working on that this is blocking?>

Documentation: Update Accessing Testnet Page

Link

https://www.notion.so/dapperlabs/Accessing-Testnet-12b5a101832743289d2ad44cebac15fc

Context

We need to update the current Accessing Testnet Page to provide additional context about what Testnet is as well as associated warning and risk of being on Testnet

Definition of Done

Exisiting testnet document update with the following:

-[] Explain what Testnet is exactly
-[] possible state changes and sporks
-[] encouraged for testing,
-[] gets new features sooner,
-[] Disclaimers and warnings about network

PR Review

Who is your Code Partner - @psiemens
Who can provide external eyes - @robmyers @timmymmit @joshuahannan @turbolent

Documentation: Overview - Road to Mainnet

Context

Provide an overview to the Dapp Development Lifecycle section defining steps that a dapp developer needs to go through and linking to appropriate documents.

Definition of Done

Overview which outlines the steps a dapp developer must go through and links to appropriate guidelines and documentations

PR Review

Who is your Code Partner - @10thfloor
Who can provide external eyes - @timmymmit @turbolent @joshuahannan @robmyers

Event Type Documentation Update

Problem

Flipside question brought this up and Peter flagged that it needs to be updated in our documentation (I'm not entirely sure where though - maybe @psiemens you know?)

Steps to Reproduce

See context below

Acceptance Criteria

Context

2The GetEventsForHeightRange requires you to provide an event type and the sdk only supports “flow.AccountCreated” and “flow.AccountUpdated” where “flow.AccountUpdated” is no longer a valid type. Documentation also states that omitting a type will return all types but that does not seem to be the case.

What are the valid event types? Is there a more up-to-date version of the SDK that includes other types? (we're using the go sdk)

  • Omitting a type will actually return an empty list. The documentation needs to be corrected on our end.

  • We have the following four built-in event types:

    flow.AccountCreated"
    "flow.AccountKeyAdded"
    "flow.AccountKeyRemoved"
    "flow.AccountCodeUpdated"
    
  • Apart from these, there can be user defined even types.

Storage Fees: Execution Changes

Referencing the storage fees FLIP: #99

Changes to be made:

  • storage used updated after transactions: onflow/flow-go#76
  • storage limiter that prevents accounts going over storage capacity: onflow/flow-go#80
  • expose storage used/capacity to fvm so cadence has access to these fields: PR TODO
  • call smart contract to purchase minimum storage on account creation: PR TODO

Documentation: Update Accessing Emulator Document

Context

We need to update the current Emulator to provide additional context about what Emulator is as well as associated warning and risk of being on Emulator

Definition of Done

Migrate existing Emulator document updated with the following:

-[] Explain what Emulator is exactly
-[] possible state changes and sporks
-[] Encouraged use for testing
-[] Disclaimers and warnings about network

PR Review

Who is your Code Partner - @10thfloor
Who can provide external eyes - @robmyers @timmymmit @joshuahannan @turbolent @10thfloor

Multiple Contracts per Account - Object Migration

ref: dapperlabs/flow-go#4806

Context

Stored objects store their type identifier.
Type identifiers contain the location, i.e. the account address.
With multiple contracts implemented, code is now deployed to different location.
This means that all stored objects have to be rewritten.

Possible Solution

  • Iterate over all registers. For each register, determine if it stores data.
  • If the register stores data, use the Cadence interpreter's decoder and decode the data
  • Recurse over the data and adjust all type identifiers
  • Encode the adjusted object and write it back to storage

Definition of Done

  • All stored data can be loaded and code associated with stored objects can be loaded successfully
  • Tests

Multiple Contracts per Account – State migration

ref: dapperlabs/flow-go#4806

Context

Support for multiple contracts per account was recently added.
Existing data, both code and stored objects, must be migrated to be compatible with the new feature.

Use of undeclared tag in MDX results in div element

Instructions

Use a tag that's not declared in an MDX, for example Img, and don't import it.

Problem

Instead of erroring, a div element is produced.

For example <Img src="foo" /> results in a non-sensical <div src="foo"></div>

Steps to Reproduce

See above

Acceptance Criteria

The build process should error and abort, instead of silently accepting the invalid tag.

Terms of Flow Lease

Context

People want to know what they need to do to keep their Flow Lease. We need to put it in writing so people can refer to it.

Definition of Done

Terms of Flow Lease up on DocSite

PR Review

Who is your Code Partner - @laynelafrance
Who can provide external eyes - @psiemens @joshuahannan @timmymmit

Internal Testing

Estimation of core issue should capture larger testing efforts

Documentation: Update Accessing Mainnet Document

Context
We need to update the current Accessing Mainnet Page to provide additional context about what Mainnet is as well as associated warning and risk of being on Mainnet

Definition of Done
Existing Mainnet document updated with the following:

-[] Explain what Mainnet is exactly
-[] possible state changes and sporks
-[] stable and for real value do not use for testing
-[] Disclaimers and warnings about network

PR Review
Who is your Code Partner - @psiemens
Who can provide external eyes - @robmyers @timmymmit @joshuahannan @turbolent

Adding link back to Onflow.org

Context:

Need a way to link users back to the onflow.org from the docsite

Definition of Done:

Link exisists to onflow.org from docsite.

Add Flow Road Map to the Flow Docs Site

Issue To Be Solved

Flow Product team would like to add an outline of dates (simple bullet-point format is fine) on the Flow docs site for transparency of what we've been working on and have coming up next!
- Could put it as another tab below the "Partner Update" emails maybe?

Suggested Solution:

Can be in a similar format as the Partner Community Update.

Dec 6, 2019: Flow Developer Preview

  • Providing a smart contract Emulator for both our partners and our internal dapp development team (NBA Top Shot).

Jan 24: MVP

  • Complete transaction cycle processed by a single instance of each node

March 5: Dev Portal

  • Onboarding developers to Cadence via a hosted hackathon

March 30: Dev Portal

  • Multiple nodes of each role allowing simple transactions to go on a complete round trip through the network

April 15: Full Happy Path

  • Complete consensus and execution environment (without slashing)

June 1: Beta Mainnet v0.1
Beta Mainnet hosting smart contracts/dapps in production with real user data, starting with the NBA collectible experience and associated NFTs.

Sept 22: Token Generation Event

  • The FLOW token is minted and held by Dapper Labs pending distribution to pre-launch investors and a Community Sale on CoinList.

Minting & Open Sourcing

  • Genesis block FLOWs minted
  • Open sourcing the last of the Flow repos (node software coming!)

Sept 24: Open Sourcing

  • The full node implementation is publicly published under an open-source license.

Sept 25: Next Spork - #Candidate 9

  • Staking Contracts will be deployed to Mainnet at this time for you to begin testing
  • Key Deadline: Thursday, September 24th @4pm Pacific Time

Oct 13: Spork - ~~Candidate #10.~~Mainnet #1!!

  • Key Deadline: Monday, October 12th @ 11am Pacific Time
  • Startup Nodes: Tuesday, October 13th @ 11am Pacific Time

Oct 16: Flow Port Release & Token Delivery

  • Custodian Partners supporting FLOW: Kraken, Finoa
  • Other options for receiving FLOW: Ledger, Flow Port both via port.onflow.org
  • Node operators are required to stake a number of tokens in order to participate in the network and earn rewards. Token holders can delegate to specific operators to earn a share of rewards. The Slashing Rate is set to 0% until the Slashing mechanisms have been tested for false positives.

Oct 30: Partners Staking their tokens

  • Partners should be ready to support investors in this process by this time.
    This will be the first spork where keys (and stake!) are collected via Staking Requests (txs sent to staking contract - described in detail in docs below)
    Staking Request Deadline: Friday October 30th @ 4pm Pacific Time
    Updated Node Configuration in effect as of Monday November 2 @ 10am Pacific

**Nov 3: First Staking Spork - Mainnet #2

  • The Slashing Rate for validators and delegators becomes non-zero to punish malfeasance on the part of validators. The specific Slashing Rate will be set via the governance process.
  • FLOW holders will spend Oct 16 - Oct 30 staking their tokens. Partners should be ready to support token holders in the staking process by this time.
  • This will be the first spork where keys (and stake!) are collected via Staking Requests (transactions you'll submit to the staking contract - described in detail in docs below)
  • Staking Request Deadline: Friday October 30th @ 4pm Pacific Time
  • Updated Node Configuration in effect as of Monday November 3 @ 10am Pacific Time

Nov 10: First Staking Rewards!

  • The first rewards will be made available for withdrawal on this date

Q2 2021: Slashing Penalties Enabled

  • The Slashing Rate for validators and delegators becomes non-zero to punish malfeasance on the part of validators. The specific Slashing Rate will be set via the governance process.

(Optional): Context

<what are you currently working on that this is blocking?>
N/A

cc @caseyturnerarrington @Kay-Zee + @laynelafrance for 👀 (at some point)

Documentation for signature domain tags

We should add documentation that covers the types of signatures that users can create (transaction, user message, etc) and their accompanying domain tags.

This documentation should cover the following:

  • Transaction encoding (RLP)
  • Domain tags
    • Transaction
    • User message

Fix Content Navigation Menu on Right

Context

Currently on some pages there is a content navigation menu that gets generated with major sections of the page but currently the behaviour of the navigation menu is not working properly. When clicking on the links in the menu it does not highlight the section that is being clicked and does not scroll to the proper place.

Definition of Done

Content Navigation menu highlights right section and scrolls to proper place.

PR Review

Who is your Code Partner - @psiemens
Who can provide external eyes - @timmymmit

Pseudorandom Number Generator

Instructions

Please fill out the template below to the best of your ability and include a label indicating which tool/service you were working with when you encountered the problem.

Issue To Be Solved

On traditional blockchains, generating pseudorandom numbers, while technically not strictly possible, is nonetheless useful, especially for low-stakes transactions, where a miner would not be incentivized to influence the outcome. I wonder if a standard method of PRNG could be built in to Flow as a core feature.

(Optional): Context

A lot of game ideas, including NFT minting, rely on a PRNG. It seems pretty core to behavior of a lot of contracts.

Monitoring Node Health link on Node Operation Guide needs to be updated

Problem

Monitoring Node Health link is broken on the Node Operation Quick Guide

Steps to Reproduce

When you click on the link it doesn't take you anywhere, not sure where the link is supposed to go there instead

Acceptance Criteria

This Readme needs to move to the Flow Docs site and be updated:
https://dash.readme.io/project/onflow/v0.3/docs/monitoring-node-health

Context

Not urgent, nice to have - it's optional for Node Operators to check the monitoring of their node.

Dead Links in Docs

I noticed the following link issues when going through the docs:

https://flow-docs-git-token.onflow.vercel.app/token/earn/# > All links within this page do not go anywhere. These should be:

https://flow-docs-git-mackenzie-deploy-fixes.onflow.vercel.app/intro/flow-token/# > The same 3 links as the above comment are on this page and also do not go anywhere.

  • Please cascade these changes here as well.

Others:

Documentation: Smart Contract Testing Guidelines

Context

We need to create a set of smart contract testing guidelines for the community to follow which will ensure them deployment to testnet and mainnet after they have properly tested the smart contracts.

Definition of Done

Turn https://www.notion.so/dapperlabs/Flow-and-Cadence-Development-Best-Practice-874f51cf092e4a37bf2aaaced6e1e4de into a document on the docsite

PR Review

Who is your Code Partner - @psiemens
Who can provide external eyes - @10thfloor @turbolent @timmymmit @psiemens @joshuahannan

Multiple Contracts per Account - Code Register Migration

ref: https://github.com/dapperlabs/flow-go/issues/4806

Since one account can now have multiple contracts, they are now saved differently. The register key was previously just "code" but will now be "code.{contract_name}".

Because of this all of the old registers need to be moved.

However, because previously the code could contain multiple contract interfaces and one contract, but can now only contain one contract interface or one contract, the code needs to split up during migration.

below is some pseudocode of how the migration might go:

def migrate(register):
    if not needs_migration(register):
        # every account has a code register, even if it is empty
        # the number of registers that need migration is equal to the number of accounts
        return

    # whatever we do, we need to delete the old register first
    delete_register(register)

    if register_is_empty(register):
        # most accounts won't have any code deployed
        # we can simply ignore those (we already deleted them)
        return

    # load code
    try:
        parsed_programs = parse_program(register.code)
    except:
        # program is not parsable! should not happen!
        raise Exception()

    if len(parsed_programs) == 1:
        # only one interface or contract (easy case). Should be most common
        # just save the new contract
        save_contract(register, parsed_programs[0])
        return

    # this case is much harder. We have one or more interfaces and one contract
    # they need to be saved separately, so multiple registers will be created.
    # However they might depend on each other, so we potentially need to add some imports to each of the pieces
    # In the worst case scenario the interfaces depend on each other. In which case I dont know what to do
    # (there needs to be more than one interface for this case)
    while len(parsed_programs) > 0:
        # there should be at least one that can be parsed without the others (otherwise there is circular dependencies)
        first_ok_program = next(p for p in parsed_programs if p.is_valid)
        # save it
        new_register = save_contract(register, first_ok_program)
        # remove it from the list
        parsed_programs.remove(first_ok_program)
        # add imports to the rest
        # this is an aggressive approach there will mostly be more imports than needed
        for p in parsed_programs:
            add_contract_import(p, first_ok_program, new_register)

    # if there is a circular dependency we can just report an error and solve that case manually.
    # there should only be a handful of cases like that, if any


def needs_migration(register) -> bool:
    """Only need migration if key is 'code' ('636f6465' in hex)"""
    return register.key == '636f6465'


def register_is_empty(register):
    return register.value == ''


def delete_register(register):
    pass


class ParsedProgram:
    def __init__(self) -> None:
        self.name = ''  # the interface or contract name
        self.code = ''
        self.is_valid = True # if the contract can be parsed as is


def save_contract(register, program: ParsedProgram):
    new_register = copy(register)
    new_register.key = hex('code.' + program.name)
    new_register.code = hex(program.code)
    save_register(new_register)
    return new_register


def save_register(register):
    pass


def parse_program(code) -> List[ParsedProgram]:
    # parse the program and split it so there is only one interface or contract per program
    # duplicate all the original imports on all programs
    return []

def add_contract_import(program: ParsedProgram, dependency_program: ParsedProgram, dependency_register):
    # prepend import
    program.code = f'import {dependency_program.name} from {dependency_register.owner}\n' + program.code
    program.is_valid = # check it is valid now

Add Account setup for node operators to DocSite

Context

Brian has created an account setup guide for node operators that we should get on the docsite.

Definition of Done

https://docs.google.com/document/d/1tVqV0nnhKmGriQnxi2do528DlRFeujEolO03atB5Q0A/edit is added to the docSite under the Node Operation->Operator Guide section

PR Review

Who is your Code Partner - @brianastrove
Who can provide external eyes - @timmymmit

Internal Testing

Estimation of core issue should capture larger testing efforts

Update Staking and Node Operation Docs with Edits and make sections public

Context

Recently we sent over our Staking and Node Operation docs to Natasha to edit. She has provided edits that we want to update our docs to use. Once we put up her edits we can then make these sections public on the Doc Site.

Definition of Done

The edits found here are updated on the docsite:
-[] https://docs.google.com/document/d/1HeE0zgojQ1R4OrvxC4L-qw9CROeu1h8hl0tVCUFBHmg/edit
-[] https://docs.google.com/document/d/1pntHLOxMKnhe7oCfFo1OvaIYTVUPQOM27RxH9js0J9c/edit#heading=h.wru0zdcvvvj6

Node Operation and Staking sections are public.

PR Review

Who is your Code Partner - @psiemens
Who can provide external eyes - @timmymmit @joshuahannan @robmyers @psiemens

Dapp Deployment Lifecycle DocSite Structure

Context

We are creating a new section on the docsite to support the Dapp Deployment Lifecycle and will need new structure created on the docsite to support it.

Definition of Done

New docsite structure following the below:

  • Dapp Deployment Lifecycle
    • Overview - Road to Mainnet
    • Smart Contract Testing Guidelines
    • Testnet Testing Guidelines
    • Mainnet Deployment Guide
    • Network Reference
      • Emulator Document
      • Accessing Testnet Document
      • Accessing Mainnet document

PR Review

Who is your Code Partner - @10thfloor
Who can provide external eyes - @timmymmit

Internal Testing

Estimation of core issue should capture larger testing efforts

Fix Step 2 in Systemd instructions

Problem

  • docs have an error in them which is the reason it took so long to get my node up and running last time. It was eventually determined that the command should be
    sudo systemctl enable YOUR-FLOW-NODE.service
    not:
    sudo systemd enable YOUR-FLOW-NODE.service
    Step 2 of the systemd instructions.

^ Feedback from Snowfro Node Operator

Steps to Reproduce

N/A

Acceptance Criteria

Adjust and update wording

Context

Node Operator Onboarding Streamlining process

Documentation: Testnet Testing Guidelines

Link

https://www.notion.so/dapperlabs/Testnet-Testing-Guidelines-fbe59f1b400f4f13b6bb0dad16933897

Context

Community members need a page to access general testing guidelines on Testnet that they need to follow

Definition of Done

Page on docsite outlining the testing guidelines.
There must be a link on the page to the Testnet document which lists all associate risks on Testnet.

PR Review

Who is your Code Partner - @psiemens
Who can provide external eyes - @robmyers @timmymmit @joshuahannan @turbolent

Resolve Config

We want to have the configuration of transactions and scripts be part of the build/resolve/send pipeline. This would involve adding a new config section on the interaction adt. When configuration is then needed it should attempt to get the global config then overload it with any locally available configuration.

Expected Outcomes

  • Builder for accessNode.api and accessNode.key
  • @onflow/resolve-config
  • Send consumes config data from interaction

Update Flow Node Operator Documentation

Issue To Be Solved

Node Operators need to have a "home" for all questions on documentation

Suggest A Solution

Items needed to put on Flow Docs site
Create section [Node Operations] -> similar to how it is currently under "Node Operation Quick Guide" but with the sections below (similar to "Flow Token"

  • How do I stake? (guide)
  • Guide for receiving Flow (Delivery of Tokens)
  • Guide for Staking FLOW
  • Node Operator FAQ

Context

Smoother Node Operator Onboarding !

FYI @vishalchangrani adding you for 👀
*Might need to be an Epic

Flow Docs Updates

Problem

Update needed on Verification Storage recommendations and Execution

Steps to Reproduce

  1. Change candidate 8 under Step 0 to candidate 9
    image

  2. Upload your Public Keys

Can we adjust the wording to say, "(you can pick any name, but please make sure to do so as it helps us immensely to keep track of the most recent keys you've sent and would like us to include in the bootstrapping process)"
image

  1. Start your Flow Node
    image
    Add end parenthesis "(via Discord you will need to fetch the genesis info), updated..."
  • verification nodes and they have gone slightly over 2GB. So, if our docs still stay 2GB for verification, we should revise it to 4GB at least → this requirement needs to be changed:
    -> https://onflow.readme.io/docs/setting-up-a-node#hardware-requirements

  • we are also missing instructions w.r.t execution node. The PULL token for the execution node is different than other nodes and operators running an execution node should be pulling using that token -> it is candidate-9-execution
    cc @vishalchangrani for 👀

Acceptance Criteria

NA

Context

<what are you currently working on that this is blocking?>

Search should should not point you to docs.onflow.org on vercel (and local) deployments

Problem

Searching the docs during local development (or on vercel deployment) incorrectly points you to the actual docs page.

Even though it will be incorrectly indexed for new or edited files (because the indexing is from https://docs.onflow.org/). I still thing you should be able to navigate using the search, to make things easier.

Steps to Reproduce

  1. go to any vercel deployment.
  2. search for anything
  3. you are redirected to https://docs.onflow.org/

Acceptance Criteria

Don't get redirected to https://docs.onflow.org/ when searching. Instead go to the current deployments pages.

Partner Update Date Change

Problem

Spork is set for October 8th, we need to move it to October 13th

Steps to Reproduce

Update the "Coming Up" timeline to October 13: Spork - Candidate #10 (vs Oct 8th right now)

image

https://docs.onflow.org/intro/partner-update/

Acceptance Criteria

N/A

Context

Would like to fit in the Replay Mechanism Maks has been working on into the next Spork as well as a set of new node operators who will be set up in time in advance.

cc @Kay-Zee for 👀

Migrate existing documentation

Now that the new documentation was moved into this repository, the documentation that already existed in the repository's docs directory should be migrated/integrated into the new documentation website, e.g. cli.md, emulator.md, etc.

Access to API Spec Documentation needs to the added to Flow Docs

Problem

Node Operators need to query the access API to get events for a block range.
Unfortunately, the documentation for that seems to have been lost and is an important place to go for anyone using our APIs

Steps to Reproduce

one older one here -

Needs to put/accessible on the Flow Docs site

Acceptance Criteria

Blockchain Coalition reached out over Discord with the following:

"Hey @rrrkren, thanks, works good for live data! However I have a question about archive transactions (for the latest node I assume) we cant find mint events for the following moments 525289 - 525363, I assume they should have been minted somewhere between 7673291 and 7673293 block numbers, can you try to find a transaction id of a mint so that I can confirm that?"

Additional context: Sent older link and the following:
"so if they were to query for events between that range - 7673291 and 7673293 they should find all the events"

cc @vishalchangrani for more context.

Concurrent write error

Instructions

Please fill out the template below to the best of your ability and include a label indicating which tool/service you were working with when you encountered the problem.

Problem

A concurrent write error occured when starting up a react app

Relevant github repos:
Contracts: https://github.com/versus-flow/auction-flow-contract/tree/concurrent_write
React app: https://github.com/versus-flow/versus-action-website/tree/concurrent-write

Steps to Reproduce

  1. in terminal 1 Clone https://github.com/versus-flow/auction-flow-contract/tree/concurrent_write and cd into that folder
  2. In terminal 1 start the flow emulator in that repo flow emulator start -v
  3. In terminal 2 run make webpage
  4. In terminal 3 Clone https://github.com/versus-flow/versus-action-website/tree/concurrent-write and cd into die
  5. In terminal 3 run `yarn run dev-wallet
  6. In terminal 4 run yarn start in te website repo
  7. Sign in with a user in the dev-wallet.
  8. Stop emulator, dev-wallet
  9. Keep session in webbrowser open
  10. start emulator, run make webpage, start dev-wallet and start the webapp again
  11. refresh the webpage.

flow version:
Version: v0.9.0
Commit: a286d775fc3e38ca2fd9eb58a8275bb6e2067e14

See gist https://gist.github.com/bjartek/37088a4339e888bfbec2417858717b9b for the stack trace

Access API protobuf definitions are not namespaced

Problem

The protobuf definitions for the Access API are not namespaced inside of flow, which can create conflicts in the generated code for some languages.

For example, as reported by a user:

access.proto generates a C++ namespace access that clashes with the unistd.h library ("symbol already in use"). This problem (not observable in the golang implementation) could be avoided if the package name corresponded to the directory hierarchy (flow.access).

Context

While adding the namespace itself is trivial, it introduces a breaking change for all services, methods and messages (old versions of the API register all types without the namespace). Fixing this bug introduces non-trivial complications for clients and servers.

Update Tutorials to work with latest version of Cadence

Issue To Be Solved

Cadence has introduced some breaking changes and the tutorials need to be updated to work with those.

(Optional): Suggest A Solution

  • Go through each tutorial and test with the latest version of Cadence
  • Update any out of date patterns or syntax
  • For example, the marketplace example stores a reference, which needs to actually be a capability.

Tutorials are here: https://github.com/onflow/flow/tree/master/docs/content/tutorial/cadence

Documention: Mainnet Deployment Guide

Context
Community members need a page to access general deployment guidelines for Mainnet they must follow.

Definition of Done
Page on docsite outlining the deployment guidelines which are the following:

-Complete Smart Contract Review process
-Testing on Testnet
-Deployment of contracts from FLOW Team

There must be a link on the page to the Mainnet document which lists all associate risks on Mainnet.

PR Review
Who is your Code Partner - @psiemens
Who can provide external eyes - @robmyers @timmymmit @joshuahannan @turbolent

Documentation: Storage Fees Writeup

Context

Storage fees are being added to the protocol and we need to let people know what it is and how they will be affected by it.

Definition of Done

Provide an overview of storage fees and what they are, how much they are, what scenarios they are applied and what developers should be aware of when working with the fees.

PR Review

Who is your Code Partner - @turbolent
Who can provide external eyes - @timmymmit @psiemens @10thfloor

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.