ethereum / ethereum/populus

Start deprecation cycle for `Chain` api to prepare for `Environment` API

Open
#361 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
319
Forks
110
PR merge metrics
No merged PRs in 30d

Description

WIP

### What is wrong

Populus should not be running geth for users. It's hacky and it's unreliable.

### How can it be fixed.

TODO: explain full solution

Intermediate step: Deprecate all Geth based chains.

Deprecate all of the `Chain` subclasses except `TesterChain`, `TestRPCChain` and `ExternalChain`.

Any use of the deprecated chains should raise a deprecation warning with the following information.

* Statement that they will be removed in a subsequent release.
* Link to API documentation on how to migrate to use `ExternalChain`.

Documentation for migration to `ExternalChain` should include:

* scripts for initializing the genesis chain data
* scripts for running the chain
* scripts for resetting the chain

This should also include updates to the tutorials and other documentation which reference setting up and running local chains or temporary geth chains.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Chain subclasses, the retained TesterChain, TestRPCChain, and ExternalChain classes, and documentation or tutorials that reference local or temporary geth chains. Confirm the deprecation-warning requirements and migration documentation scope. Done means deprecated chains warn with removal and ExternalChain migration information, with scripts and affected documentation updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, blockchain, documentation
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.