internal/ethapi: support retrieving header RLPs too
This commit is contained in:
		| @@ -1915,6 +1915,19 @@ func NewPublicDebugAPI(b Backend) *PublicDebugAPI { | |||||||
| 	return &PublicDebugAPI{b: b} | 	return &PublicDebugAPI{b: b} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // GetHeaderRlp retrieves the RLP encoded for of a single header. | ||||||
|  | func (api *PublicDebugAPI) GetHeaderRlp(ctx context.Context, number uint64) (string, error) { | ||||||
|  | 	header, _ := api.b.HeaderByNumber(ctx, rpc.BlockNumber(number)) | ||||||
|  | 	if header == nil { | ||||||
|  | 		return "", fmt.Errorf("header #%d not found", number) | ||||||
|  | 	} | ||||||
|  | 	encoded, err := rlp.EncodeToBytes(header) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return "", err | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%x", encoded), nil | ||||||
|  | } | ||||||
|  |  | ||||||
| // GetBlockRlp retrieves the RLP encoded for of a single block. | // GetBlockRlp retrieves the RLP encoded for of a single block. | ||||||
| func (api *PublicDebugAPI) GetBlockRlp(ctx context.Context, number uint64) (string, error) { | func (api *PublicDebugAPI) GetBlockRlp(ctx context.Context, number uint64) (string, error) { | ||||||
| 	block, _ := api.b.BlockByNumber(ctx, rpc.BlockNumber(number)) | 	block, _ := api.b.BlockByNumber(ctx, rpc.BlockNumber(number)) | ||||||
|   | |||||||
| @@ -223,6 +223,11 @@ web3._extend({ | |||||||
| 			params: 1, | 			params: 1, | ||||||
| 			outputFormatter: console.log | 			outputFormatter: console.log | ||||||
| 		}), | 		}), | ||||||
|  | 		new web3._extend.Method({ | ||||||
|  | 			name: 'getHeaderRlp', | ||||||
|  | 			call: 'debug_getHeaderRlp', | ||||||
|  | 			params: 1 | ||||||
|  | 		}), | ||||||
| 		new web3._extend.Method({ | 		new web3._extend.Method({ | ||||||
| 			name: 'getBlockRlp', | 			name: 'getBlockRlp', | ||||||
| 			call: 'debug_getBlockRlp', | 			call: 'debug_getBlockRlp', | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user