a free (libre) open source, mobile OS for Ethereum https://status.im
Go to file
Oskar Thorén db6b80d529 chat, protocol: Introduce Lamport clock semantics for message order
This commit ensures messages are ordered correctly when participants join and
leave a group chat. Specifically, the last received message will appear last.
Previously the user and chat clock was queried and updated in an ad hoc manner.
With this change there are only two clock changes to keep track of:

Sending messages:
time = time+1;
time_stamp = time;
send(message, time_stamp);

Receiving messages:
(message, time_stamp) = receive();
time = max(time_stamp, time)+1;

(See https://en.wikipedia.org/wiki/Lamport_timestamps)

Note that this means we can get rid of all the non-message clock queries and
updates.
2017-08-09 12:34:36 +03:00
.github github templates 2017-02-12 12:53:29 +07:00
android Added alert when exception are thrown Java side. 2017-08-07 10:21:09 +03:00
bots fix #1467 console: confirmation code preview 2017-07-29 13:41:26 +03:00
doc syng to status 2016-05-19 18:31:56 +02:00
env Upgraded figwheel/cljsbuild. 2017-07-17 08:49:36 +03:00
externs Remove externs and add them to gitignore 2017-08-07 16:43:37 +03:00
images/contacts removed old unused code and resources 2017-07-17 22:48:06 +03:00
ios App no longer crashes if start deleting url while browsing (#1468) 2017-07-25 11:15:49 +03:00
modules/react-native-status upgrade status-go 2017-06-26 09:59:45 +03:00
react-native/src removed old unused code and resources 2017-07-17 22:48:06 +03:00
resources /location command 2017-07-10 18:20:58 +03:00
src/status_im chat, protocol: Introduce Lamport clock semantics for message order 2017-08-09 12:34:36 +03:00
test chat, protocol: Introduce Lamport clock semantics for message order 2017-08-09 12:34:36 +03:00
.buckconfig upgrade react-native and packages - but broken 2016-04-24 15:07:08 +07:00
.flowconfig fixes to make registration work on iOS (#232), other iOS fixes 2016-09-22 13:55:28 +03:00
.gitignore Development tools (#719) 2017-02-13 12:14:28 +02:00
.re-natal fix #1050 2017-08-07 13:55:22 +03:00
.watchmanconfig Initial 2016-02-23 01:04:42 +03:00
CHANGELOG.md syng to status 2016-05-19 18:31:56 +02:00
Jenkinsfile fix ArgumentError - invalid byte sequence in US-ASCII at pod install 2017-07-26 08:34:03 +03:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:44 +08:00
README.md Add comment to guide Android newbies builds, fix README typos 2017-07-26 15:54:02 +03:00
figwheel-bridge.js Upgraded figwheel/cljsbuild. 2017-07-17 08:49:36 +03:00
package-lock.json fix #1050 2017-08-07 13:55:22 +03:00
package.json fix #1050 2017-08-07 13:55:22 +03:00
postinstall.sh /location command 2017-07-10 18:20:58 +03:00
project.clj implemented fx handler, rewrite handlers using fx and cfx, optimized subscriptions, reorganized structure and renamed files, implemented re-frame-test and wrote some tests 2017-07-28 17:25:55 +03:00
run-osx.sh add possibility to run ./run-osx.sh without iterm 2017-07-03 14:58:25 +03:00
shim.js * ios-related fixes; 2016-07-29 14:49:52 +03:00

README.md

Status - A Browser, Messenger, and gateway to the decentralized world of Ethereum Build Status

Status - a Mobile Ethereum Operating System

Join us in creating a browser, messenger, and gateway to a decentralized world. Status is a free (libre) open source mobile client targeting Android & iOS built entirely on Ethereum technologies. That's right, no middle men and go-ethereum running directly on your device.

Getting started with Status

Why?

We believe in a medium of pure free trade, economies with fair, permission-less access and a world without intermediaries. We want to create policies that can exist between friends or scale globally, we want to communicate securely and be uninhibited by legacy systems.

We want to take responsibility for our data, the way we conduct ourselves privately and promote this way of life to a mass audience.

We want deep insights into our own economies so we can make informed, data-driven decisions on how to make our lives better. The Ethereum blockchain, Smart Contracts, Swarm and Whisper provides us a path forward.

If this interests you, help us make Status a reality - anyone can contribute and we need everyone at any skill level to participate.

How to Contribute?

Go straight to the wiki or join our Slack or choose what interests you:

  • Developer
    Developers are the heart of software and to keep Status beating we need all the help we can get! If you're looking to code in ClojureScript or Golang then Status is the project for you! We use React Native and there is even some Java/Objective-C too!
    Want to learn more about it? Start by reading our Developer Introduction which guides you through the technology stack and and start browsing beginner issues. Then you can read how to Build Status, which talks about managing project dependencies, coding guidelines and testing procedures.

  • Community Management
    Metcalfe's law states that the value of a network is proportional to the square of the number of connected users of the system - without community Status is meaningless. We're looking to create a positive, fun environment to explore new ideas, experiment and grow the Status community. Building a community takes alot of work but the people you'll meet and long lasting relationships you form will be well worth it, check out our Community Development Guide

  • Specification / Documentation
    John Dewey once said "Education is not preparation for life; education is life itself ". Developers & Designers need guidance and it all starts from documentation and specifications. Our software is only as good as its documentation, head over to our wiki and see how you can improve what we have.

  • Blog Writing
    Content is King, keeping our blog up to date and informing the community of news helps keep everyone on the same page. Jump on our Slack and discuss with Carl how you can contribute.

  • Marketing
    In this day and age attention is limited, we need all the help we can get to find people who are interested in Status, whether that is paid user acquisition, public relations or hype building, check out our Community Outreach and Marketing Guide to see how you can spread the word.

  • Testers
    It's bug hunting season! Status is currently in Alpha and there are sure to be a bunch of education, grab your fresh copy of Status and shake your phone to submit bug reports, or start browsing our Github Issues. Every bug you find brings Status closer to stable, usable software for everyone to enjoy!

  • Security
    Status is a visual interface to make permanent changes on the Blockchain, it handles crypto-tokens that have real value and allows 3rd party code execution. Security is paramount to its success. You are given permission to break Status as hard as you can, as long as you share your findings with the community!

  • Design & User Experience
    It's all about that sex appeal, we want cryptocurrencies to be easy and fun to use, ugly software doesn't help adoption. Check out our designs and show us how to make them better!

  • Evangelism
    Help us spread the word! Tell a friend right now, in fact tell everyone - yell from a mountain if you have to, every person counts!

Give me Binaries!

Currently the fastest way to get your hands on a binary is to join our Early Access by submitting your email on our website or by building it yourself.

// TODO GPlay, TestFlight Instructions & FDroid

Core Contributors

Jarrad (@jarradh) - Cofounder and Thought Leader.

Carl (@carlbennetts) - Cofounder and Communications & Marketing.

Roman (@rasom) - Clojure and project lead.

Alexander (@alwx) - Clojure ninja!

Andrey (@flexsurfer) - Clojure.

Gustavo (@GustavoNunes) - Clojure.

Victor (@farazdagi) - Golang one-man-army.

Andrei (@andmironov) - Visual design and user experience conjurer.

Special thanks to @adrian-tiberius. Without the dedication of these fine gentleman, Status would not exist.

Contact us

Feel free to email us at support@status.im or better yet, join our Slack.

Got a feature request or suggestion, download Status and shake your phone, failing that search our Github Issues.

License

Licensed under the Mozilla Public License v2.0