Preamble

Idea: 146-status-go-sdk
Title: Status GO-SDK
Status: In Progress
Created: 2018-04-03

Summary

Provide an easy to use GO-SDK library to allow community developers easily interact with status messaging.

Swarm Participants

Product Overview

Product Description

One of the main goals of status is to grow its community, however is not easy to work on status-go project as a community developer. Is not easy to set up an environment

The idea behind this swarm is to simplify this by allowing community developers to interact with status, based uniquely on status-go library.

Requirements & Dependencies

Minimum Viable Product

MVP should allow a developer to accomplish some minimal actions:

All methods should work for 1to1, groups and public chats.

With this methods building a simple autoresponder bot should be as simple as:

TO BE DEFINED

// Connect to the default status url and defer closing the connection
st, _ := status.Connect(st.DefaultAddr) // -> localhost:51515
defer st.Close()

// Authenticate as an specific user
st, _ = status.Auth([]byte(“S3cretT0ken”))

// Subscribes to any message on chat chatID
sub, _ := st.Subscribe("chatID", func(m *st.Msg) {
    // Replies the received message
    m.Reply([]byte("I can help!”))
    sub.Unsubscribe()
})

// Simple message publisher
st.Publish(“buddy_token", []byte("Hello World"))

SDK should be provided with different, easy to follow and well documented examples (TBD):

Description:

Blockers

New Status App communication protocol - https://github.com/status-im/ideas/issues/87

Dates

Goal Date: TBD

Description: TBD

Testing Days required: TBD

Success Metrics

Milestone 1: Status messaging basic interaction (2018-05-07)

Milestone 2: Public channels interaction (2018-05-14)

Milestone 3: Contact management (2018-05-21)

Milestone 4: 1 to 1 messages interaction (2018-05-28)

Milestone 5: Private groups interaction (2018-06-04)

Milestone 6: Extra methods (2018-06-11)

Exit criteria:

This swarm will be deemed successful and be closed upon the delivery of the above milestones.

Success Metrics

A dev who is unfamiliar with the SDK is able to set up his environment and build a simple chatbot in under 2 hours, just by following the documentation.

Supporting Role Communication

Copyright and related rights waived via CC0.