bitshares / bitshares/bitshares-core

Improve lookup_witness_accounts API performance

Open
#1,865 0 comments 0 reactions 0 assignees View on GitHub
4a Low Priority 6 Performance
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

**User Story**
Current implementation of `lookup_witness_accounts` API is inefficient because `witness_object` class doesn't have an account name. We can add account name to the class and index by it.

Also `lookup_committee_member_accounts` API.

**Impacts**
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.
- [ ] API (the application programming interface)
- [ ] Build (the build process or something prior to compiled code)
- [ ] CLI (the command line wallet)
- [ ] Deployment (the deployment process after building such as Docker, Travis, etc.)
- [ ] DEX (the Decentralized EXchange, market engine, etc.)
- [ ] P2P (the peer-to-peer network for transaction/block propagation)
- [x] Performance (system or user efficiency, etc.)
- [ ] Protocol (the blockchain logic, consensus, validation, etc.)
- [ ] Security (the security of system or user data, etc.)
- [ ] UX (the User Experience)
- [ ] Other (please add below)

**Additional Context (optional)**
Add any other context about your request here.

## CORE TEAM TASK LIST
- [ ] Evaluate / Prioritize Feature Request
- [ ] Refine User Stories / Requirements
- [ ] Define Test Cases
- [ ] Design / Develop Solution
- [ ] Perform QA/Testing
- [ ] Update Documentation

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the implementations of the lookup_witness_accounts and lookup_committee_member_accounts APIs, then trace how witness_object and committee member accounts are searched. Confirm the current lookup path and identify the relevant performance tests or benchmarks; done means both APIs use account names for efficient lookup without changing their results.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, blockchain, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.