Here are some of the major areas of focus this week:
safe_app_nodejs API updatessafe_client_libs version updates and Alpha 2 compatibilityJava and JNI bindings generatorC# bindings generatorMerge and split scenarios in the context of Data ChainsMigration of the p2p crate to a Tokio + futures based API
SAFE Authenticator & API
The tasks to update safe_app_nodejs to make use of the master branch of safe_client_libs have been completed and it’s ready to start the internal testing. All API changes and the new functions for sign keys have been integrated. We will now update the example applications to work with the latest version of safe_app_nodejs and also use them for testing purposes.
The changes which affect the API are the following:
Permission-set objects no longer exist on the front-end, they’ll simply be passed as a clean array:
You’ll no longer have to work with MutableData Keys and Values objects. For example, you can now simply run app.mutableData.getKeys() to return a nice array of keys associated with the respective mutable data entries.
The DOM API is being updated to reflect the changes made in safe_app_nodejs. The documentation of the new APIs will be updated and published as soon as this is complete. As you can imagine, some of these changes will reduce the number of handles the DOM API needs to expose, and that should simplify the web apps code to a certain degree.
The test suites for both the DOM API and safe_app_nodejs are in the process of being updated to reflect recent safe_client_libs changes, for readability, and to perhaps act as another source of practical documentation. We are also working on adding tests which can verify that invalid input parameters are handled correctly.
We just started with some refactoring in the safe_app_nodejs code with the intention of decoupling the NodeFFI binding functions, which take care of the interactions with the safe_client_libs, from the functions that are exposed as the API of the package. This should allow us to then be able to use different types of bindings mechanisms as we find it necessary moving forward, e.g. we could create different versions of the library which interact with the safe_client_libs using the Rust FFI, WebAssembly, or any other possible way.
The safe_app_java repository has been updated to use multi-project setup and CI scripts have been integrated. We’re waiting for the JNI bindings to be ready for integration. Meanwhile, @joy is looking into methods of distribution. @shankar is iterating the dev website prototype based on the initial feedback that was passed by the internal team. We will share the prototype once the final version is ready.
A test suite for the existing APIs was integrated for the safe_app_csharp repository. Only a few functions that were needed for the messaging app have been exposed as of now. @rachit and @krishna_kumar will start implementing all the APIs and corresponding test cases to make it feature complete.
The custom browser development is continuing well. The prototype protocol handling was functioning well, but it required running the old SAFE Browser for authentication. Now we’re moving on to integrating the authenticator to remove this dependency.
SAFE Client Libs
The highlight of this week is our work towards getting an Alpha 2-compatible release of a new version of the SAFE Client Libs API. Currently, we’re trying to check that all recent changes in the master branch of SAFE Client Libs are working nicely with the existing network data. Besides manual testing, we intend to add some automated integration tests that will try to connect to the real network and use an existing account to do basic tasks: this way, we can be sure that developers can use the new API to build new apps and upgrade the existing ones without resorting to mock-routing or waiting for a full network reset. Once we’re confident about it, we’re going to remove the alpha-2 branch and make master the only upstream version.
As we move forward, we’ll be dedicating more time to the problem of binary data compatibility. We’re starting with small steps: @marcin has been developing an update policy for our dependencies, some of which can change their binary encoding from version to version. We’ve already stumbled upon this with our compression library, brotli2, and the same might happen with e.g. our serialisation library (serde2). As updates to binary encoding are breaking changes, we decided that we’re going to freeze versions of such critical libraries. In addition to that, we’ll be more careful with future changes and general dependencies updates. The outline of this policy can be found in this pull request2, which will be revised and adopted soon.
In the meantime, we’re continuing with the bindings generator, which is progressing very well, but still requires more time to figure out the small details and catch bugs. While @nbaksalyar is wrapping up JNI and Java bindings, @adam has started on the C# bindings generator. It’s shaping up nicely and some preliminary results are available in this repository2. The major remaining thing to be done for both languages is testing and proper callbacks support. Once we’re done with that, with the help of the front-end team we’re going to start integrating automatically generated bindings with the Android and Xamarin projects.
Routing & Crust
The Routing team has been focused on working out the details of how merges and splits can be effectively handled in the current design of Data Chains. We are considering various scenarios and different flows, trying to find a suitable approach that plays well with eventual consistency patterns. This is ongoing and we’re hoping to get things firmed up for merge/split handling soon.
The task of figuring this out requires a thorough understanding of the network fundamentals and Data Chains features. We’re also looking to factor in quite a few drastic scenarios such as high node loss in short periods, restarting the network with the ability to republish the data that has been stored on it… It is important to make sure that these features will be possible to implement on top of Data Chains, and many details are quite tricky to get right and ensure they function together without affecting a different part of the system as a side-effect.
We’ve been planning to replace Crust NAT traversal code with a dedicated crate - p2p6. But before that, it had to be ported to a Tokio + futures based API. And that finally happened and got merged into the master branch. This concludes our 2 week long work - that was a complete rewrite from mio based code. Now we’re able to integrate the p2p crate into Crust and the work has already been started. The end result will be more reliable NAT traversal with a reduced Crust codebase. Since p2p implements both UDP and TCP NAT traversal and µTP is ready, UDP support for Crust is not that far away.
American Express is joining Ripple’s blockchain network to provide real-time, business-to-business global payments that will ultimately enhance their customers’ experience.
Initially, American Express FX International Payments (FXIP) will partner with Santander UK to create a transaction channel between the U.S. and U.K. — a first and a boon for the corridor. The U.S. is the U.K.’s largest trading partner, creating an immediate need for frictionless commercial global payments in the U.K. market.
Partnering to deliver faster, better service
By leveraging the power of RippleNet, FXIP customers will see an immediate improvement in how they send money globally.
Compared with the traditional payment process, Ripple’s blockchain-enabled payments simplify connections with intermediaries and provide immediate end-to-end visibility into the transaction status and cost.
What’s more, FXIP’s use of RippleNet will maintain the level of security that American Express customers have come to know and expect.
“We’ve already seen evidence that blockchain technology is playing a transformational role in the way customers are served,” said Greg Keeley, executive vice president of global corporate payments at American Express.
“Not only does this partnership with Ripple help decrease the time it takes for international transactions to be processed, it can make our transactions more effective for our customers,” Keeley added.
Joining forces to avoid settling for less
FXIP’s partnership with Santander UK to send cross-border payments between the U.S and U.K will help American Express not only streamline commercial payments, but also establish a wider footprint in the U.K.
José Luis Calderón, Santander’s global head of transaction banking, said, “This blockchain solution opens up a new channel between the U.S. and the U.K. and presents a significant opportunity for payments globally.
“Collaborating with forward-thinking businesses has enabled us to deliver this cutting-edge, secure, friction-free payment solution and extend our ‘Simple, Personal, Fair’ philosophy to American Express and their customers.”
Ripple CEO Brad Garlinghouse agreed with Calderón’s statement stating, “Ripple is taking a huge step forward with American Express and Santander in solving the problems corporate customers experience with global payments.”
“Transfers that used to take days will be completed in real time, allowing money to move as fast as businesses move today. It’s just the beginning, and we look forward to growing this partnership to help other American Express FXIP customers.
Contact us to learn more about Ripple’s growing network, and how other companies are helping to create one frictionless experience to send money globally.
KONG, Nov. 15, 2017 /PRNewswire/ — The OAX Foundation, the
not-for-profit entity that supports the development of the OAX
decentralized exchange platform, held its first working group for
industry participants this week. The aim of the working group is to
develop a series of industry “best practices” in the areas of
compliance, KYC, holding and security of funds and other key areas that
will be integrated into the ongoing development of the OAX platform.
OAX project aims to develop and launch a decentralized exchange with
collateral supported asset gateways acting as the “on-ramps” to the
ecosystem. By increasing transparency (including posting collateral to a
smart contract for digital assets and/or depositing fiat into
segregated accounts), asset gateways allow users to properly evaluate
the risk of any trade. By doing so, OAX enhances consumer protection to
the sometimes opaque cryptocurrency space. OAX plans to launch the first
phase of its rollout for institutional participants in the first
quarter of 2018, with retail access coming at a later date.
OAX Foundation’s development team, led by Enuma Technologies, also
demonstrated early UX/UI screens and features to the working group,
including the minting and burning of collateral backed tokens,
transactions and other key features.
attendees of the Working Group were from key industry stakeholders,
related to key milestones in the roadmap for the OAX project.
Participants included Blockbonds, a technology start-up that utilizes
blockchain technology with the aim of helping to “bank the unbanked”;
Trusted Key and Netki, two of the KYC industry leaders; Octagon
Strategy, Asia’slargest digital asset OTC trading desk; PwC Hong Kong,
adviser to the Foundation with respect to governance, risk management
and internal control matters; EY, adviser to the Foundation in relation
to taxation and accountancy matters; alongside one of Hong Kong’s top
digital asset legal firms, King & Wood Mallesons.
about the inaugural meeting, William Barkshire, Senior Advisor to the
Foundation and Working Group chair said. “It was an extremely productive
first meeting — the aim of the OAX project is to enhance consumer
protection and transparency for digital asset users and a safe,
compliant avenue for bringing fiat currencies onto and off the
blockchain. As such, KYC and regulatory compliance are two fundamental
areas of focus. The group was very receptive, and engaged in a frank and
honest dialogue about the challenges and opportunities they foresee. We
will take that input and use it to further refine the project.”
Working Group will meet monthly to discuss various topics, such as
asset gateway protocols, KYC/AML, compliance and effective banking
integration. The next meeting will focus on KYC interoperability and
Decentraland Dev Update- Terraform Registration, Web Client and Editor, EthAlarm , Genesis City Auction & MoreTerraform Registration
Users can now use their Ledger hardware wallets to participate in the Terraform Registration
and stake MANA to either the Genesis City auction or one of the many
community districts. We also fixed a recurring problem that led to
transactions not being accounted for. Finally, we are about to finish a
feature that will enable advisors, early contributors, and the team to
use their vested tokens in the Terraform.
Genesis City Auction
team began the testing process for the land auction web app (which is
being deployed to the Ropsten testnet network soon!). We will be
releasing the source code and starting with the security audits next
Web Client and Editor
We’re at the final stage of integrating the web client with the scene editor.
This is our top priority, as it will allow early users to start
experimenting with creating and uploading content to [testnet] land. Our
goal is to release early and nourish ourselves from everyone's feedback
to iterate fast.
we have fixed some performance issues and added new features to the
editor, such as uploading objects directly from Google Poly, experimental support for editing directly in VR,
, among others.
response to EthAlarm was outstanding, and we are looking into ways to
make this dApp more scalable. Thus, we’re temporarily taking down the
public instance of EthAlarm to improve its performance and reliability.
District Governance Framework
We are working with District leaders to help organize, develop and deploy district projects. Currently, we are building out a District Governance Framework that
will act as a preliminary guide in which the roles and responsibilities
of district leadership and participants are outlined. This is a
collaborative effort between the core Decentraland team and various
started testing a small application that will allow users to choose
land parcels and open them in the editor to work on them and also upload
their content to the web client. Codenamed “loader”, this dApp allows
you to claim test land in Ropsten and launch the Editor to work on your
Waves-NG just around the corner and rewards set to increase to around
5% per year, it’s a great time to start mining WAVES and generating an
income from your holdings.
rewards are about to rise substantially! The terms for miners are
changing, making running a node or leasing your balance even more
profitable. Projections are that miners will be able to earn up to 5%
annually on their balances — not taking into account expected increases
in transaction volumes, or the price of WAVES.
Not only that, but the Waves platform has just successfully tested the NG consensus protocol,
which promises vastly increased speeds and throughput on the
blockchain. Once NG is released on mainnet in mid-December, we expect
the network to be able to process around 6,000 transactions per
minute — making it the fastest production blockchain in the world, with
many more transaction fees to distribute.
Mine WAVES for profit
the number of transactions rising steadily over the past few months,
and about to take another step up as NG goes live, there are new
opportunities for miners
to generate an income from their holdings. All you need is 10,000 WAVES
and a simple hosted server to run the client — you won’t need any
specialist hardware. You can find guides on how to get set up at https://www.cryptocompare.com/mining/guides/how-to-mine-waves/.
You’ll receive all of the transaction fees from the blocks you process,
in WAVES and other assets, as well as rewards in the form of the Miners Reward Token (MRT). The total annual rewards earned by miners will increase by up to 5% in the beginning of 2018.
Lease your WAVES
If you don’t have 10,000 WAVES or don’t want to maintain a node, you can always lease
your balance to a miner or mining pool. Simply click on the Leasing tab
in the lite client and assign your balance to the address of the mining
pool you want to use. By doing this, you support the network and get
paid rewards, but won’t have to run a node yourself. Leased balances
remain in the full control of the owner — they never leave your
account — and you can cancel the lease and unlock the WAVES for your own
use at any time, with just two clicks.
You can find more information and a list of mining pools at http://wavescommunity.com/leasing.
Different pools pay out different proportions of their revenues, in
WAVES and MRT, as well as sometimes their own assets. Lease or mine
WAVES, secure the network, help process transactions and get paid!