asuleymanov / steem-go

Golang RPC client library for Steem- https://steemit.com
MIT License
9 stars 6 forks source link

Ошибки при подключении библиотеки #1

Closed chiliec closed 7 years ago

chiliec commented 7 years ago

Привет @asuleymanov ! Я новичок в go, хотел попробовать запустить пример из README:

package main

import (
    "fmt"

    "github.com/asuleymanov/golos-go"
)

func main() {
    // Instantiate the WebSocket transport.
    t, _ := websocket.NewTransport("wss://ws.golos.io")

    // Use the transport to create an RPC client.
    client, _ := rpc.NewClient(t)
    defer client.Close()

    // Call "get_config".
    config, _ := client.Database.GetConfig()

    // Start processing blocks.
    lastBlock := 1800000
    for {
        // Call "get_dynamic_global_properties".
        props, _ := client.Database.GetDynamicGlobalProperties()

        for props.LastIrreversibleBlockNum-lastBlock > 0 {
            // Call "get_block".
            block, _ := client.Database.GetBlock(lastBlock)

            // Process the transactions.
            for _, tx := range block.Transactions {
                for _, op := range tx.Operations {
                    switch body := op.Data().(type) {
                    // Comment operation.
                    case *types.CommentOperation:
                        content, _ := client.Database.GetContent(body.Author, body.Permlink)
                        fmt.Printf("COMMENT @%v %v\n", content.Author, content.URL)

                    // Vote operation.
                    case *types.VoteOperation:
                        fmt.Printf("VOTE @%v @%v/%v\n", body.Voter, body.Author, body.Permlink)

                        // You can add more cases, it depends on what
                        // operations you actually need to process.
                    }
                }
            }

            lastBlock++
        }

        time.Sleep(time.Duration(config.SteemitBlockInterval) * time.Second)
    }
}

Но получил сразу кучу ошибок:

# command-line-arguments
./golos-telegram-bot.go:11: undefined: websocket in websocket.NewTransport
./golos-telegram-bot.go:26: invalid operation: props.LastIrreversibleBlockNum - lastBlock (mismatched types uint32 and int)
./golos-telegram-bot.go:28: cannot use lastBlock (type int) as type uint32 in argument to client.Database.GetBlock
./golos-telegram-bot.go:35: undefined: types in types.CommentOperation
./golos-telegram-bot.go:36: body.Author undefined (type interface {} is interface with no methods)
./golos-telegram-bot.go:36: body.Permlink undefined (type interface {} is interface with no methods)
./golos-telegram-bot.go:40: undefined: types in types.VoteOperation
./golos-telegram-bot.go:41: body.Voter undefined (type interface {} is interface with no methods)
./golos-telegram-bot.go:41: body.Author undefined (type interface {} is interface with no methods)
./golos-telegram-bot.go:41: body.Permlink undefined (type interface {} is interface with no methods)
./golos-telegram-bot.go:41: too many errors

Подскажите как быть?

asuleymanov commented 7 years ago

Приветствую. Пример в описании не совсем правильный он остался от forka. Просто все руки не доходят его поправить. Лучше обновить сейчас все из библиотеки и посмотреть в файле github.com/asuleymanov/golos-go/examples/voting_monitor/main.go Но спасибо что указали сейчас займусь переписыванием README. Если что не получится спрашивайте.

chiliec commented 7 years ago

Спасибо!