Skip to main content

Posts

Ripple Baby Steps

Ripple and XPR What is Ripple for people in business and finance? Ripple is a currency exchange and payment settlement platform built using blockchain technology. Unlike Ethereum that is a more universal distributed application platform, Ripple solves a more narrow set of problems such as sending payments (similar to Bitcoin), currency remittance, payments for invoices, as well as number of other use cases related to payment in different currencies between parties that may or may not trust each other. Ripple is fast, scalable, and provides number of functions needed to support different payment scenarios. XPR is a native Ripple currency with a fixed and limited supply coins. 100 Billion XPR cryptocoins are in circulation today and the same number will be in circulation tomorrow.  What is Ripple for a software engineer?  For a software developer, Ripple is distributed ledger platform accessible trough API. There are number of libraries to accommodate different dev...
Recent posts

Respect Coin

Respect I think it's time to talk about currency. Let's create a Respect Coin. Step 1. Install OpenZeppelin library  npm install zeppelin-solidity When it comes to coins, I like to use some functions that smart people already implemented and other smart people verified. I think that Zeppelin is a nice collection of Solidity contracts that can be trusted. Let's use the StandardToken contract and use it as a parent class for our own RespectCoin contract. Step 2. Create RespectCoin contract and store it in "contracts/RespectCoin.sol" file  pragma solidity ^0.4.4; import "../node_modules/zeppelin-solidity/contracts/token/StandardToken.sol"; /** * @title RespectCoin * @dev ERC20 Token example, where all tokens are pre-assigned to th e creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract RespectCoin is StandardToken { string public constant name = ...

"Hello World" with counter

Friend of mine pointed out that the "Hello World" contract described in my previous post does not keep state. Reading and writing data to the blockchain is important and can be challenging. In this post I will add a counter to count number of times the sayHello() function was called.    Step 1. Create  a new contract Let's create a file HelloWithCounter.sol and put it into the "contracts" directory. pragma solidity ^0.4.4; contract HelloWithCounter { uint private helloCounter; function Hello() public { // constructor helloCounter = 0; } function sayHello() public returns (string) { helloCounter = helloCounter+1; return strConcat('I say Hello #', uintToString(helloCounter)); } function getHelloCounter() constant public returns (string) { return uintToString(helloCounter); } function uintToString(uint v) internal pure returns (string str) { uint maxlength = 100; bytes memory reversed = new byt...

"Hello World" from Solidity

How to say "Hello World" in the era of blockchain? Reflections Once upon a time, I worked in CTO role of a great startup, and in order to find talented code developers, we ran a competition for the most creative "Hello World" application. It was a lot of fun! I was not able to participate in the competition back then, but here is my delayed entry. Step 1. Environment Configuration # Installing Truffle framework (http://truffleframework.com/) $ sudo npm install -g truffle # Creating project $ mkdir solidity-experiments $ cd solidity-experiments/ $ truffle init # Installing and starting Etherium local test network $ sudo npm install -g ethereumjs-testrpc $ testrpc & Step 2. Point truffle framework to the test network Update truffle.js file created by the init to point to your test network. File content should look like this: module.exports = { networks: { development: { host: "localhost", port: 8545, network_id: "*" ...

IoT World 2016 favorites

My personal favorites at the IoT World Conference Samsung I am very impressed by the Samsung Artik Looks like they are way ahead of competition in terms of understanding of how complete IoT solution should look like. Artik looks like a good platform and ecosystem that includes hardware modules, API specs, cloud, and growing community of developers.  Reference device implementations based on different Artik Modules Reference implementation of sensors and detectors ARTIK 5 Dev kit OTTO robot ARTIK1 module and dev kit Another dev kit (complete with WiFi connectivity) Arduino Arduino for IoT .  It is not as complete as ARTIK but it is open, has a large developer community (myself included),  and working on a MQTT message-based cloud . All the rights components for a big success story!  Here is the right way to demo an IoT solution (based on  Raspberry Pi ) Jaguar  This company ...

AWS Solution Architect Certification :: Reflections

AWS Solution Architect Certification Thoughts and Reflections Just received a AWS Solution Architect Certificate and want to share some of my observations of the test (in no particular order): If you used AWS for a few projects, passing the test will be easy. Compare to the amount of time and effort that it took me to pass Sun Enterprise Architect, it is probably 1/100 or 1/1000  To my surprise, almost all questions were around S3, IAM, and EC2. It is much more to AWS, and I was thinking that they have more questions around RDS/EMR/Redshift Tricky questions were "select 3 correct answers out of 6" or "2 out of 5" and it feel more like a lottery. It was almost half all questions that are in "multiple correct choice" category. When answering these questions, please read every word of it as they often put "sort-of-right answer" and "right answer" and unless all options are read fully it is easy to choose "sort-of-right...

Developing Google Glass application showing the Heart Beat Rate

Wearable Sensors + Google Glass Wearable sensors  are a lot of fun! I played with them for some time by now, both professionally (at work), and for the coding pleasure. This post is about my latest weekend project - native google glasses app showing heart rate. The idea is to continuously measure hear rate using the sensor and to show pulse rate in real time, for example, while running or exercising. Honestly, I did not find running with Google Glasses to be much fun (as they tend to fell off when I am running), but to see what makes my heart beat faster is an interesting and educational experience. Google Glass (GG) Turns out to be a nice piece of hardware that is a fun to work with: reasonably fast processor, Android 4.0.1, wide range of sensors, WiFi, and Bluetooth interface! Ingredients GG ( http://www.google.com/glass/start/ ) Google glass SDK ( https://developers.google.com/glass/gdk ) Android SDK ( http://developer.android.com/sdk/index.html ) Zephyr ...