[TOC]
Личный профиль
HundredLee
С 2013 года он стремился быть на переднем крае разработки платформы для торговли цифровыми валютами, а в 2016 году он соприкоснулся с блокчейном и с тех пор встал на путь невозврата. В настоящее время разрабатывается новый высокоскоростной механизм подбора игроков.
Вейбо:Weibo.com/сотня Ли2…
Электронная почта: Hundred9411#gmail.com
Серийная подготовка
Сериал 1, знакомство с Ethereum, проверка баланса и т. д.
Серийный номер два, переводы go-ethereum из Ethereum, как подключить токены, как проверить баланс токенов и как вывести токены.
Третий выпуск, немного опыта и краткое изложение стыковки торговой платформы с Ethereum.
Эфириум — волшебная штука?
Энциклопедия Байду:
Эфириум (Эфириум) — это не учреждение, а базовая система, которая может реализовать смарт-контракты и открытый исходный код на блокчейне.С момента рождения Эфириума до мая 2017 года, всего за три с половиной года, в мире насчитывалось 200 человек. Появилось несколько приложений Ethereum. Ethereum — это платформа и язык программирования, которые позволяют разработчикам создавать и публиковать распределенные приложения следующего поколения. Ethereum можно использовать для программирования, децентрализации, защиты и торговли чем угодно: голосованием, доменными именами, финансовыми биржами, краудфандингом, корпоративным управлением, контрактами и большинством соглашений, интеллектуальной собственностью и интеллектуальными активами, которые выигрывают от аппаратной интеграции.
Установить гет-клиент
- geth в настоящее время является наиболее широко используемым клиентом, который можно использовать для майнинга, создания частных сетей, управления учетными записями Ethereum и т. д.
- Пользователи osx могут установить его напрямую через brew. конкретная ссылкаblog.CSDN.net/ET будет китайским/…
- Если вы хотите скомпилировать и установить из исходного кода, обратитесь сюдаWooooooo.OP на .com/ в блоге cn очень in459/ я боюсь…
- Конечно, официальный документ github readme также очень подробный, рекомендуется ознакомитьсяGitHub.com/ether EU M/go…
- Способ установки здесь подробно описываться не будет, а информации в интернете много.
развивать
Подключиться к Эфириуму
-
Первый, более важный шаг
go get https://github.com/ethereum/go-ethereum
-
Если вы успешно установили клиент geth на предыдущем шаге и включили функцию rpc, например
http://127.0.0.1
, то вы можете подключить rpc в golang. -
Перейдите непосредственно к коду:
import (
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/ethereum/go-ethereum/rpc"
)
func connectToRpc() (*ethclient.Client, error) {
client, err := rpc.Dial("http://127.0.0.1")
if err != nil {
return nil, err
}
conn := ethclient.NewClient(client)
return conn, nil
}
Запрос баланса Ethereum (eth)
- При разработке приложений Ethereum часто необходимо получить баланс на счете.
- Поскольку мы успешно подключились к клиенту Ethereum на предыдущем шаге, нам нужно только напрямую и просто вызвать интерфейс.
import (
"context"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
)
//特别注意,这里的address就是你要查询的以太坊余额的地址。一般是0xddddd 这样的形式
func GetBalance(address string) {
client,err := connectToRpc()
if err != nil {
panic(err.Error())
}
balance, err := client.BalanceAt(context.TODO(),common.HexToAddress(address), nil)
}
- Особое внимание: десятичное число Ethereum равно 18, тогда полученный баланс необходимо умножить на 10^-18, чтобы получить нормальное количество Ethereum.
- То же самое и с другими токенами Эфириума, будут другие Decimals, но будут и соответствующие методы их получения, об этом можно не беспокоиться, это будет упомянуто в следующей сериализации.
if err != nil {
beego.Error(err.Error())
} else {
//这个就是地址中以太坊的余额
balanceV := float64(balance.Int64()) * math.Pow(10, -18)
}
конец
Пожертвования принимаются, независимо от того, насколько вы поддерживаете.