go-ethereum/node
Martin HS 21b3400ae5 all: remove `personal` RPC namespace (#30704)
This PR is a first step towards removing account management from geth,
and contains a lot of the user-facing changes.

With this PR, the `personal` namespace disappears. **Note**: `personal`
namespace has been deprecated for quite some time (since
https://github.com/ethereum/go-ethereum/pull/26390 1 year and 8 months
ago), and users who have wanted to use it has been forced to used the
flag `--rpc.enabledeprecatedpersonal`. So I think it's fairly
non-controversial to drop it at this point.

Specifically, this means: 

- Account/wallet listing
  -`personal.getListAccounts`  
  -`personal.listAccounts`     
  -`personal.getListWallets`   
  -`personal.listWallets`      
- Lock/unlock
  -`personal.lockAccount`      
  -`personal.openWallet`       
  -`personal.unlockAccount`
- Sign ops
  -`personal.sign`             
  -`personal.sendTransaction`  
  -`personal.signTransaction`  
- Imports / inits
  -`personal.deriveAccount`    
  -`personal.importRawKey`     
  -`personal.initializeWallet` 
  -`personal.newAccount`       
  -`personal.unpair` 
- Other: 
  -`personal.ecRecover`        


The underlying keystores and account managent code is still in place,
which means that `geth --dev` still works as expected, so that e.g. the
example below still works:

```
> eth.sendTransaction({data:"0x6060", value: 1, from:eth.accounts[0]})
```	

Also, `ethkey` and `clef` are untouched. 

With the removal of `personal`, as far as I know we have no more API
methods which contain credentials, and if we want to implement
logging-capabilities of RPC ingress payload, it would be possible after
this.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2024-11-19 14:50:11 +01:00
..
api.go p2p/discover: improved node revalidation (#29572) 2024-05-23 14:26:09 +02:00
api_test.go build: update to golangci-lint 1.61.0 (#30587) 2024-11-19 14:50:11 +01:00
config.go node: fix listening on IPv6 address (#27628) (#27635) 2023-07-02 13:21:16 +02:00
config_test.go node: remove noop path.Join (#25475) 2022-08-04 10:42:03 +03:00
database.go core, eth, node: break rawdb -> {leveldb, pebble} dependency (#30689) 2024-11-19 14:50:11 +01:00
defaults.go node, rpc: add configurable HTTP request limit (#28948) 2024-02-07 21:06:38 +01:00
doc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
endpoints.go node, rpc: add ReadHeaderTimeout config option (#25338) 2022-08-03 16:50:12 +02:00
errors.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
jwt_auth.go node, rpc: add JWT auth support in client (#24911) 2022-09-02 17:40:41 +02:00
jwt_handler.go node: change JWT error status to 401 Unauthorized (#25629) 2022-08-30 15:25:02 +02:00
lifecycle.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
node.go all: remove `personal` RPC namespace (#30704) 2024-11-19 14:50:11 +01:00
node_auth_test.go all: replace path.Join with filepath.Join (#29479) 2024-04-08 12:29:49 +03:00
node_example_test.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
node_test.go build: update to golangci-lint 1.61.0 (#30587) 2024-11-19 14:50:11 +01:00
rpcstack.go all: fix mismatched names in comments (#29348) 2024-03-26 21:01:28 +01:00
rpcstack_test.go build: update to golangci-lint 1.61.0 (#30587) 2024-11-19 14:50:11 +01:00
utils_test.go all: remove version field from rpc.API 2022-06-27 12:39:46 +02:00