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

28 lines
706 B

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