...
FIP-46 PR
FIP-46 Dev branches
FIO Repo, parent is develop.
feature/FIP-46-fio-develop-01052023
fio.test Repo, parent is develop.
feature/FIPBD-464245-fiotest-develop-0105202301122023
FIP-46 development PRs
FIO repo
FIO.test repo
feature/BD-4245-fiotest-develop-01122023https://github.com/fioprotocol/fio.test/pull/332
Project level technical scope analysis
This section reviews the project management milestone checklist, and captures the logic and decision making surrounding the inclusion of checklist items in the deliveries for this FIP
Project checklist used[FIP-46] Project Management - Milestone Checklist
https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/589725697
Dev checklist used[FIP-46] Development - Milestone Checklist
https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/589725704
Excluded checklist items
item reason for exclusion. details
SDKs out of scope. project impacts nodeos exe only.
Dev stories identified.
FIP-46 complete detailed design (created)
FIP-46 complete development and dev testing. (created)
RAM Bumps
RAM Bump is not a consideration of this effort since we are making changes in the FIO Core which pertain only to FIO getters. More specifically we propose changes only to FIO getters that use secondary indexes to produce results.
Fee Analysis
FIO fees are not a consideration of this effort since we are making changes in the FIO Core which pertain only to FIO getters.
Design
Summary of changes to fio and fio.contracts
...
we propose setting the timeout for FIO secondary indices to become 10X the present setting. this may have un-expected impacts to node performance (NONE have been found yet)
it has been mentioned that the WALKTIME in the chain plugin has been put into place to help to protect against denial of service attacks. Analysis of node deployments shows that there is alot of opportunity for node operators to protect against denial of service attacks in the hosting and networking of nodes being operated. It also seems logical that even with the WALKTIME set to its previous values, this does not prohibit denial of service attacks as all that need be done is to increase the number of callers that are calling readers from the client side.
SDK Requirements
none
Functional Testing
Design
Overview of test plan with high-level bulleted test cases
test domains access with get_fio_domains for an account with 25k domainsAll FIO getters should be regression tested.
run regression tests on all feature/function of FIO. (dev testing will run the smoke tests).
test domains access with get_fio_domains for an account with 25k domains, a dev testing case is created for this in the fio.test branch.
Performance Testing
Design
Overview of test plan with high-level bulleted test cases
perf testing is same as functional testing for get_fio_domains with one account owning 25k domains.
dev testing was completed for this test case using the file register-domains-one-account-max-load.js
Fork Testing plan
no fork testing is required.
this is not a forking change to the FIO Core.
...
documentation must be updated on dev hub for the new timeouts for primary and secondary indices.
new FIO nodeos version needs to be supplied to the community.
Rollout/Release verification plan
...