Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blockscout/lib/explorer_web/controllers/chain_controller.ex

35 lines
924 B

defmodule ExplorerWeb.ChainController do
use ExplorerWeb, :controller
import Ecto.Query
alias Explorer.Block
alias Explorer.BlockForm
alias Explorer.Repo.NewRelic, as: Repo
alias Explorer.Transaction
alias Explorer.TransactionForm
def show(conn, _params) do
blocks = from b in Block,
order_by: [desc: b.number],
preload: :transactions,
limit: 5
transactions = from transaction in Transaction,
left_join: block_transaction in assoc(transaction, :block_transaction),
left_join: block in assoc(block_transaction, :block),
preload: [block_transaction: block_transaction, block: block],
limit: 5,
order_by: [desc: block.number]
render(
conn,
"show.html",
blocks: blocks |> Repo.all |> Enum.map(&BlockForm.build/1),
transactions: transactions
|> Repo.all
|> Enum.map(&TransactionForm.build/1)
)
end
end