Re: PaySwarm Alpha 6 Released

On 2 March 2013 19:13, Manu Sporny <msporny@digitalbazaar.com> wrote:

> PaySwarm Alpha 6 has been released. You can view the latest site on:
>
> https://dev.payswarm.com/
>
> All systems are live and seem to be working well with the new changes to
> the code base. Improvements in this version of the code base include:
>
> Better Monetary Precision
> -------------------------
>
> We increased the precision on amounts in the system from 7 digits to 10
> digits. Currencies like Bitcoin require 8 digits of precision; one
> Satoshi is equivalent to 0.00000001 BTC. We went to 10 digits because we
> wanted to support single percentage fees (like 1%) on the smallest
> possible BTC transaction.
>
> Fixes to Bank Fee Modeling
> --------------------------
>
> There were instances where we were not modeling the complex fees imposed
> by banks and credit card networks accurately enough. For example, when
> you deposit $1 into your PaySwarm financial account, you should see $1
> show up in your account. There is quite a bit of math that needs to go
> on behind the scenes to ensure that the total charged to a credit card
> is correct. We believe that the new model works with far greater
> precision than the old model.
>
> Secure, Persistent URLs for the Web
> -----------------------------------
>
> We have co-launched a site called https://w3id.org/ for any Linked Data
> applications that require a secure, long-lived, Linked Data identifier
> service. You can read more about the service on the website above. The
> main purpose was to have a better solution than http://purl.org/ for the
> PaySwarm JSON-LD contexts, vocabularies, and general identifiers we use
> in PaySwarm. There is a social contract among a number of companies that
> are listed on the site that allows the management and upkeep of this
> website even if one or more of the companies disappear. The site is
> designed to last for decades if not a century or more.
>
> URLs for Currencies
> -------------------
>
> We have switched over to requiring URLs for all currencies. We've been
> waffling on this decision for the past 2 years and finally figured out a
> way to do it that doesn't negatively impact developers while ensuring a
> cleaner data model. Why URLs for currencies? We want to support
> alternative currencies and anybody should be able to mint a new
> alternative currency by minting a new URL. So, while the data
> transactions still looks like this:
>
> {
>   ...
>   "amount": "5.00",
>   "currency": "USD"
>   ...
> }
>
> The JSON-LD above actually expands out to this when it's processed:
>
> {
>   ...
>   "amount": "5.00",
>   "currency": "https://w3id.org/currencies/USD"
>   ...
> }
>
> We had been supporting both ISO currency codes and URLs, but that was
> really just a hack. All currencies should have URLs that you can follow
> that will take you to more information about that currency (like the
> government in control of the currency, the current trading rates, the
> currency symbol, etc). An alternative currency amount could look like this:
>
> {
>   ...
>   "amount": "3.00",
>   "currency": "https://example.com/mycurrency"
>   ...
> }
>

Fantastic progress.

A couple of things:

1. I presume hash based currencies will be supported, I use the 'facebook'
style of https://w3id.org/currencies/USD#
<https://w3id.org/currencies/USD>(note the trailing hash) this is to
distinguish the document from the
currency and also future proof allowing extra subjects to reside in that
document.

2. I'm interested in how to model a current or new currency, first question
is what is @type?




>
> JSON-LD Updates
> ---------------
>
> JSON-LD is getting ready to go into Last Call at the W3C, which means
> that the features for the spec are basically done. PaySwarm uses JSON-LD
> as the underlying messaging protocol for the entire system. We brought
> the implementation in PaySwarm up to date with the latest JSON-LD
> implementation which now passes 100% of the JSON-LD test suite.
>
> JSON-LD Terms Everywhere
> ------------------------
>
> There had been complaints about the use of Compact URIs in the PaySwarm
> JSON-LD data. For example, we've had markup like this for a long time now:
>
> "type": "ps:Transaction"
>
> We have switched away from that sort of markup to something that JSON
> developers will be more familiar with:
>
> "type": "Transaction"
>
> Time Interval Support
> ---------------------
>
> More flexible time interval support has been added, allowing developers
> to specify repeating events or durations using ISO 8601 durations. This
> allows you to make complex statements like "I would like this budget to
> refill every 3 days at 4:34pm EST up to 10 times starting from today.
> Deactivate the budget on May 4th 2013 at 4:54pm EST".
>
> ----------------------------------------------------------------------
>
> Detailed change log below:
>
>   * Add white-label brand config; use on login page.
>   * Add percentage group.
>   * Fix display of bank accounts/credit cards on txn pages.
>   * Fix exemption payee groups for fee payees.
>   * Update pricing page percentages.
>   * Fix money accuracy and payee tests, fix payee rates for fees.
>   * Use 10 digits of precision instead of only 7.
>   * Also apply exclusive percentage to flat fees.
>   * Improve confirmation help text.
>   * Use inclusive merchant fee for withdrawals.
>   * Improve deposit, withdrawal, and verify screens.
>   * Show transaction currency.
>   * Add currency to withdrawal payee.
>   * Just use "API" link for REST API docs.
>   * Fix verification w/o deposit currency issue.
>   * Credit nezasa for iso8601-js-period.
>   * Change 'usd' to 'USD'.
>   * Use non-condensed table for main page transaction display.
>   * Fix bugs w/budget display.
>   * Switch from http://purl.org to https://w3id.org.
>   * Allow never expiration to be set, fix typos.
>   * Fix regex and duration syntax.
>   * Fix bugs w/new budget code.
>   * Separate refresh into refreshInterval and validityInterval.
>   * Remove "ps" prefix.
>   * Include currency in budget.
>   * Add iso8601 duration parser, make budgets use iso8601 for refresh.
>   * Add currency to Payee.
>   * Use terms instead of CURIEs for enums.
>   * Use 'com:Account' instead of 'ps:FinancialAccount'.
>   * Currency, ext account, and misc updates.
>   * Use new jsonld.js API for context loaders.
>   * Add notes about deposit/withdrawal lag times.
>   * Add merchant bank fee, change payee descriptions.
>   * Update pricing page.
>   * Ensure strings are passed to money functions.
>   * Differentiate between incoming/outgoing external money.
>   * Add maximum amount of $10 to authority transaction fee.
>   * Change maximum withdrawal amount to $100.
>
> -- manu
>
> --
> Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
> Founder/CEO - Digital Bazaar, Inc.
> blog: Aaron Swartz, PaySwarm, and Academic Journals
> http://manu.sporny.org/2013/payswarm-journals/
>
>

Received on Sunday, 3 March 2013 14:03:21 UTC