Updated Details lisk
Lisk Swift - Swift SDK with Local Signing, targeting Lisk 1.0.0
One of the biggest draws to
Lisk is its simple API that is instantly familiar to anyone making
modern day web, iOS and Android applications using http clients. With
this instant familiarity comes the need for API wrappers in other other
provide third party libraries in their language of choice but it's also
creating a major problem: security flaws.
Most (all?) third party libraries that I have seen are creating http client wrappers around the endpoints described here:
API docs describe opening accounts, sending LSK, voting and more. When
you perform actions on the Lisk network you must provide your
passphrase. These API docs describe sending that passphrase in the POST
body of the request. This is a major security flaw for a variety of
1. A hacker could easily intercept the request (man-in-the-middle) and instantly have access to all of your lisk
An evil Lisk node could decide to save all request data in their own
private database and have access to any lisk account that sent a
transaction through that node via the HTTP api
3. Most Lisk nodes are not using https
4. A lot of variations on the above...
the official client side library by the Lisk team never uses the API's
which send a secret via http described in that document. Instead it
implements Local Signing which securely signs these requests locally without ever exposing your secret over the network.
Swift is a pure Swift 4 library targeting the Lisk 1.0.0 api, and yes,
it includes Local Signing just like the official Lisk-js library. I am
developing Lisk Swift based on the lisk-js 1.0.0 branch so when 1.0.0 is
officially released it will be inline with the new API and best
Instead of developing a simple wrapper around the Lisk
HTTP api, I am aiming to provide something that can become a real
backbone for Lisk apps on iOS, macOS, watchOS, tvOS and even Linux when
using Swift 4.
Lisk Swift can be installed via the Swift Package Manager right now. Cocoapods is coming soon.
1. Accounts module, with support for securely opening a new account via a secret passphrase
2. Loader module
3. APIClient with all options from the lisk-js 1.0.0 branch
Inam currently working on signing and broadcasting Lisk transactions to
the network. Initially this will support Single and Second passphrase
accounts with Multi-sig coming soon after. Once transaction signing is
complete I will work on voting. Finally I will implement the remaining
apis to search for delegates, blocks, etc. All of which don't involve
local signing and should be much faster to implement.
lisk-swift has over 80% test coverage. Tests continuously run on
Bitrise on every commit. I am very proud of this, and will not accept
any PR's that do not provide tests for all new API's implemented.
LISK WALLET FOR iOS
I am developing a Lisk wallet for iOS which securely stores your secret
in the iOS keychain, and uses lisk-swift to properly sign transactions
locally using your secret once you authenticate with Face/Touch ID. The
intention is to make the app a full replacement for Lisk Nano. You will
be able to create new Lisk wallets in the app as well as backup your
secrets securely to iCloud.
If you'd like to support development, my number one request would be to
submit issues and open PR's on the Github repo. It is critical I get
more eyes on the actual code to help vet it's security and provide an
API that developers actually enjoy using when developing their own iOS
If you would like to show monetary support, I sincerely appreciate any donations to 14987768355736502769L
You can also vote for my delegate: andrew
NectarJS : compiling JS in binary and wasm to accelerate Lisk and JS ecosystem
I'm Adrien, I started one year ago a very exciting project :
NectarJS. It aims to make JS more efficient and versatile by compiling
it into binary or WASM. It targets every systems, like Linux, Windows,
and soon Mac, and also platforms like Arduino and Raspberry.
And the last story here : Launching a JS compiler : how to deal with strong expectations about NectarJS
now, we want to build a strong community and be able to develop as fast
as we want the entire compiler, an app/Dapp marketplace, and other
fantastic things like that. Once more advanced, we could interact with
the LISK ecosystem, lisk-js and more.
All comments are welcomed.
You can help us by contributing with LSK or others cryptos here : Contribute
Meet Lisk’s Freshest FacesLothar, Eve, Iker and Manu
Last year was spent sowing the seeds for major developments and changes that 2018 will bring to Lisk. We invested a great deal of time in our diligent search for top talent to add to the Lisk team. And we’re thrilled to say that we found some great people. Please read on to get to know our latest hires a bit better.
Iker is the first member of our Science Team. He joined Lisk as a Cryptographer on December 11. Originally from Vitoria-Gasteiz in the Basque region of Spain, he received his PhD in Coding Theory. He also spent several years as a Software Engineer and Content Developer at MATLAB and Simulink maker MathWorks.
He describes Lisk as groundbreaking, user-friendly and adaptable. Unlike the majority of his colleagues at Lisk, he is not a developer. He focuses on the mathematical foundation of Lisk’s protocol and algorithms. He seeks to improve Lisk by analyzing every issue and scenario from a theoretical point of view. He is most excited to see how Lisk will enable blockchain technology to reach everyone and believes blockchain is a technological revolution that is happening thanks to decentralization.
According to Iker, Lisk should bring blockchain technology to the people because the concept initiates a financial, social and political revolution which will allow people to regain financial control over their lives. In his free time, Iker enjoys playing squash and football, as well as staying up-to-date with latest blockchain projects.
Eve is a Human Resources Generalist at Lisk and began on January 3. Apart from Gina, she is the only other Berlin native on the team. Her previous work experience is in retail and community management. If she could only pick three words to describe Lisk, Eve would have to say that Lisk is: innovative, promising and ambitious. She loves the fact that her job responsibilities are defining and implementing company culture. Watching the team grow and expand is only the cherry on top. But what Eve is most excited to see is how Lisk will bring people together in the world of blockchain by making the technology easily accessible for all. In her down time, she enjoys stepping out of her comfort zone — she has plans to take a Salsa class soon.
Lothar began working at Lisk on January 10 as a Financial Analyst. For him, Lisk is innovative, accessible and agile. He holds a Masters Degree in International Business with a specialization in Finance and most recently worked as a Business-to-Business Consultant. Among the many pluses of working at Lisk for Lothar is that he gets to be surrounded by an international and highly-talented team every day. Developers should care about decentralization and blockchain because they will both solve issues that society is currently facing due to a highly centralized world. Decentralization and blockchain will accelerate operational practices in various industries as well. Among his hobbies are playing football, financial modeling and aquatic sports like diving.
Want to join us?
Lisk (LSK) Release Nano Wallet Version 1.3.2
- Second passphrase fee needs more emphasis #1026#1025
Merged pull requests:
- Improve clarity of second passphrase registration texts - Closes #1026 #1028slaweet)
- Fix error: cannot read property getPrimaryDisplay of null - Closes #1025 #1027slaweet
A Conversation With Lisk Backend Developer and SocketCluster Founder Jon Gros-DuboisLisk Backend Developer Jon
Jon joined Lisk as a Backend Developer last month. He is also the founder of SocketCluster, a software framework designed to simplify development of highly scalable systems, which can send and receive data in real-time betweens users and machines. We had a chance to sit down and chat about what he does at Lisk and learn a bit more about SocketCluster.
Q: I noticed you have an interesting accent. Where are you from?
A: I was born in Guadeloupe, a French island in the middle of the Caribbean. I lived there until the age of 11 before moving to Australia. I lived in Australia for many years, but settled in Europe two years ago.
Q: When did you begin coding?
Q: Why should people care about decentralization and blockchain?
A: For the past 20 years, I have witnessed the increased centralization of everything. Companies have been getting bigger and fewer in numbers, resulting in a concentration of money and power in fewer hands. Government regulation in many countries has also made it difficult for small-time investors to participate in the growth of the technology economy. This has resulted in a large number of people being locked out of opportunities. Decentralization through blockchain will help to better distribute and allocate funding so that it is evenly spread out and accessible to more people. Blockchain projects achieve dominance by bringing people in instead of locking people out.
Q: How would you describe Lisk?
A: I think of Lisk as a decentralized democratic economy. Before joining Lisk, I spent a great deal of time researching the reach, flexibility, scalability potential and economic incentives of various cryptocurrencies. I believe Lisk ranks very high in all of these areas, which makes me very excited about its future.
Q: What makes Lisk different from other blockchain projects?
Q: How did you spend your time prior to joining Lisk?
A: I was mostly doing contract work as a software developer/engineer for big companies and startups across different industries. At the time, I wasn’t sure which industry I wanted to specialize in, so contracting allowed me to try different areas. In addition to working full time as a software engineer, I’ve always kept an open source project on the side. Open source work is fun; you can find any problem that interests you and start to implement a solution for it. With open source work, there are no business constraints, therefore you can think very long term and pick very difficult problems. You can aim high and learn as you go. My first major open source project was a web content management system for developers; similar to Wordpress, except with a user-friendly drag-and-drop interface. It never became popular, but I learned a lot from building it, so it was still worthwhile. After that, in 2012, I started working with Node.js and that’s when I became interested in web application frameworks and real-time technology. This eventually led me to start SocketCluster. The common thread in all my open source work so far has been that I’ve consistently been working on platforms and frameworks for developers; to give them tools to build websites and systems more efficiently. Lisk feels like a continuation of that for me.
Q: Tell us a bit more about SocketCluster.
A: SocketCluster is a real-time (WebSocket) framework, a pub/sub data transport layer and a protocol. It makes it easier for developers to build highly scalable systems which can send and receive data in real-time between users and machines. It’s general purpose so it can be used for building many different things like chat systems, stock price tickers, trading systems and pretty much any other system/app which requires moving large amounts of data between clients and servers in real-time. I started SocketCluster several years ago because alternative solutions couldn’t scale beyond a single process on a single CPU core. CPU design trends meant that CPUs were getting more and more cores, so I felt that modern systems should be able to automatically make use all of these cores to get the best performance possible.
Q: What problems does/will SocketCluster solve?
A: SocketCluster can solve the problem of transferring a potentially unlimited number of real-time messages across a potentially unlimited number of machines/nodes using all available CPU cores on each machine. It can also be used in simpler configurations; it’s designed to be flexible and extendable. When a system only needs to process a few thousand messages/transactions per second, things are relatively simple; this is because that kind of processing can effectively be handled by a single CPU core running on a single machine. Once you go beyond a few thousand transactions per second, things suddenly get ugly. Past a certain point, no matter how much you optimize for performance, the code may not be able to process any more data; it might use up 100% of a single CPU core and leave all other cores on the machine essentially idle. This is partly because for many years, CPUs have not been getting any faster in terms of raw clock speed; they seem to have peaked at around 5 GHz (when overclocked). Recent CPU improvements have focused almost entirely on increasing the CPU core count which is currently approaching 72+ cores on commercially available high-end CPUs. Unfortunately, adding more CPU cores comes with a significant tradeoff; a program can only make full use of available CPU cores if the underlying task can be parallelized. ‘Parallelized’ in this context means that the underlying task can be broken up into smaller sub-tasks which can be processed in parallel (independently, at the same time) as opposed to serially (one after another). This constraint is also the reason why the blockchain has been so difficult to scale. SocketCluster’s pub/sub API supports scalable message passing across many machines/nodes. If setup correctly, it can scale linearly with respect to the number of messages as you add more machines/nodes to the network. SocketCluster shards pub/sub channels across available CPU cores and also across available machines on a network. SocketCluster basically opens up opportunities for Lisk to allow it to scale linearly to always be able to reach more users and to handle more transactions.
Q: Can you describe a typical day on the job for you?
A: I don’t know if I’ve had any typical days yet. I’m still relatively new to the Lisk team so I’m still in learning mode. There are a lot of details to absorb when joining an existing software project. I recently spent a lot of time writing tests; I spend a fair bit of time reading and running other developers’ code to understand how things work in detail. Being new to a project is challenging, but it’s also highly motivating.
Q: What skills and technologies are you the most interested in improving upon or learning?
A: My main areas of interest so far have been scalability and distributed systems. Now my focus is blockchain technology; there is a lot left for me to learn and it’s always evolving, so the learning will probably never stop. I like to come up with hypothetical strategies for scaling cryptocurrencies, therefore learning about all the main algorithms and architectures that are used in the industry is a good way to come up with creative strategies to solve various problems.
Q: What is one piece of advice you would give to someone looking to pursue coding?
A: You don’t need to be super smart to be a great coder; you just need to be curious, persistent and reasonable. It’s important to listen to other people’s opinions. When your code gets too clever or complex, it sometimes means you need to take a step back and consider alternative approaches. Coding is a social activity and there is rarely an absolute right or wrong way to do things.
Q: What industry sites and blogs do you read regularly?
A: I read a lot of tech-related stuff. Hacker News, Hackernoon, TechCrunch, VentureBeat, Reddit and lots of different blogs and publications on Medium.
Q: What do you like to do in your free time?
A: Aside from work, I enjoy contributing to open source projects, reading blogs, and hiking.
Q: What is your favorite book and why?
A: My favorite book is “Fooled by Randomness” by Nassim Taleb. It’s an interesting book about the role of randomness in life and in the markets. It gives a really good sense of how much more complex things are than they appear. This resonates with me because software development is often about mitigating the effects of chance and randomness; and that generally involves being exposed to a great deal of complexity that most people tend to miss.