1、geth
https://blog.fukuball.com/ethereum-%E9%96%8B%E7%99%BC%E7%AD%86%E8%A8%98-22geth-%E5%9F%BA%E7%A4%8E%E7%94%A8%E6%B3%95%E5%8F%8A%E6%9E%B6%E8%A8%AD-muti-nodes-%E7%A7%81%E6%9C%89%E9%8F%88/
2、Ganache one click blockchain
https://truffleframework.com/ganache
https://truffleframework.com/
3、MetaMask wallet
gin-jwt 又更新了 renew again
1、Authenticator
old:Authenticator: func(userId string, password string, c *gin.Context)
New:
============================
type login struct {
Username string `form:"username" json:"username" binding:"required"`
Password string `form:"password" json:"password" binding:"required"`
}
Authenticator: func(c *gin.Context) (interface{}, error) {
var loginVals login
if err := c.ShouldBind(&loginVals); err != nil {
return "", jwt.ErrMissingLoginValues
}
userID := loginVals.Username
password := loginVals.Password
2、authMiddleware
old:
authMiddleware := jwt.GinJWTMiddleware{
New:
authMiddleware := jwt.GinJWTMiddleware{
New:
authMiddleware, err := jwt.New(&jwt.GinJWTMiddleware{
訂閱:
文章 (Atom)