Add Musicoin and MCIP-3 UBI hardfork. (#6621)

* Add musicoin chain spec.

* Add musicoin to parity node

* Add musicoin to the wallet

* Add i18n for musicoin

* Align musicoin chain spec with 1.8, ref #6134

* Update musicoin bootnodes

* Prepare MCIP-3 in musicoin chain spec.

* Update musicoin chain spec with contract addresses for MCIP-3

* Extend ethash params by MCIP-3

* Fix musicoin chain spec json

* Use U256 for block rewards.

* Update musicoin registrar

* Fix merge leftovers

* Update musicoin chain spec for latest master

* Bestow MCIP-3 block reward(s).

* Update musicoin registry once and for all

* Align MCIP-3 block reward with go implementation

* Remove mcip3 test chain spec from repository

* Update MCIP-3 block rewards

* Musicoin homestead transition is at 1_150_000

* Expect mcip3 transtion to be properly defined in chain spec.

* Panic handling for mcip to default to regular block rewards if not specified

* Giving mcip3 rewards a useful default value.

* Fix ethjson tests.

* Update musicoin chain spec

* Fix tests 0:)

* Add musicoin mcip3 era test spec.

* Update musicoin chain spec(s)

* Add tests for mcip3 era block rewards

* Fix tests

* Disable byzantium for musicoin

* Pass miner reward to the tracer.

* Allow modifying blockreward in MCIP-3 transition.
This commit is contained in:
Afri Schoedon
2017-10-08 18:17:59 +02:00
committed by Gav Wood
parent 59365b0133
commit 360ecd3728
19 changed files with 478 additions and 11 deletions

View File

@@ -26,6 +26,7 @@ export default {
chain_classic: `Parity syncs to the Ethereum Classic network`,
chain_dev: `Parity uses a local development chain`,
chain_expanse: `Parity syncs to the Expanse network`,
chain_musicoin: `Parity syncs to the Musicoin network`,
chain_foundation: `Parity syncs to the Ethereum network launched by the Ethereum Foundation`,
chain_kovan: `Parity syncs to the Kovan test network`,
chain_olympic: `Parity syncs to the Olympic test network`,

View File

@@ -26,6 +26,7 @@ export default {
chain_classic: `Parity synchroniseert met het Ethereum Classic netwerk`,
chain_dev: `Parity gebruikt een lokale ontwikkelaars chain`,
chain_expanse: `Parity synchroniseert met het Expanse netwerk`,
chain_musicoin: `Parity synchroniseert met het Musicoin netwerk`,
chain_foundation: `Parity synchroniseert met het Ethereum netwerk wat door de Ethereum Foundation is uitgebracht`,
chain_kovan: `Parity synchroniseert met het Kovan test netwerk`,
chain_olympic: `Parity synchroniseert met het Olympic test netwerk`,

View File

@@ -30,6 +30,7 @@ export default {
chain_classic: `將Parity同步至以太坊經典網路`, // Parity syncs to the Ethereum Classic network
chain_dev: `將Parity使用一條本地開發用區塊鏈`, // Parity uses a local development chain
chain_expanse: `將Parity同步至Expanse網路`, // Parity syncs to the Expanse network
chain_musicoin: `將Parity同步至Musicoin網路`, // Parity syncs to the Musicoin network
chain_foundation: `將Parity同步至以太坊基金會發起的以太坊網路`, // Parity syncs to the Ethereum network launched by the Ethereum Foundation
chain_kovan: `將Parity同步至Kovan測試網路`, // Parity syncs to the Kovan test network
chain_olympic: `將Parity同步至Olympic測試網路`, // Parity syncs to the Olympic test network

View File

@@ -30,6 +30,7 @@ export default {
chain_classic: `将Parity同步至以太坊经典网络`, // Parity syncs to the Ethereum Classic network
chain_dev: `将Parity使用一条本地开发用区块链`, // Parity uses a local development chain
chain_expanse: `将Parity同步至Expanse网络`, // Parity syncs to the Expanse network
chain_musicoin: `将Parity同步至Musicoin网络`, // Parity syncs to the Musicoin network
chain_foundation: `将Parity同步至以太坊基金会发起的以太坊网络`, // Parity syncs to the Ethereum network launched by the Ethereum Foundation
chain_kovan: `将Parity同步至Kovan测试网络`, // Parity syncs to the Kovan test network
chain_olympic: `将Parity同步至Olympic测试网络`, // Parity syncs to the Olympic test network

View File

@@ -1756,7 +1756,7 @@ export default {
params: [
{
type: String,
desc: 'Chain spec name, one of: "foundation", "ropsten", "morden", "kovan", "olympic", "classic", "dev", "expanse" or a filename.',
desc: 'Chain spec name, one of: "foundation", "ropsten", "morden", "kovan", "olympic", "classic", "dev", "expanse", "musicoin" or a filename.',
example: 'foundation'
}
],

View File

@@ -45,6 +45,12 @@ export default class CurrencySymbolExample extends Component {
netChain='expanse'
/>
</PlaygroundExample>
<PlaygroundExample name='MUSIC Currency Symbol'>
<CurrencySymbol
netChain='musicoin'
/>
</PlaygroundExample>
</div>
);
}

View File

@@ -20,6 +20,7 @@ import { connect } from 'react-redux';
const SYMBOL_ETC = 'ETC';
const SYMBOL_ETH = 'ETH';
const SYMBOL_EXP = 'EXP';
const SYMBOL_MUSIC = 'MUSIC';
export class CurrencySymbol extends Component {
static propTypes = {
@@ -45,6 +46,9 @@ export class CurrencySymbol extends Component {
case 'expanse':
return SYMBOL_EXP;
case 'musicoin':
return SYMBOL_MUSIC;
default:
return SYMBOL_ETH;
}

View File

@@ -74,6 +74,10 @@ describe('ui/CurrencySymbol', () => {
expect(render('expanse').text()).equal('EXP');
});
it('renders MUSIC for musicoin', () => {
expect(render('musicoin').text()).equal('MUSIC');
});
it('renders ETH as default', () => {
expect(render('somethingElse').text()).equal('ETH');
});
@@ -95,5 +99,9 @@ describe('ui/CurrencySymbol', () => {
it('render EXP', () => {
expect(render('expanse').instance().renderSymbol()).equal('EXP');
});
it('render MUSIC', () => {
expect(render('musicoin').instance().renderSymbol()).equal('MUSIC');
});
});
});

View File

@@ -263,6 +263,14 @@ export default class Parity extends Component {
/>
))
}
{
this.renderItem('musicoin', (
<FormattedMessage
id='settings.parity.chains.chain_musicoin'
defaultMessage='Parity syncs to the Musicoin network'
/>
))
}
{
this.renderItem('dev', (
<FormattedMessage