Студио 1 София

test

ENS logo

Компютърни системи

Операционна Система

Model Name: iMac
  • Model Identifier: iMac17,1
  • Processor Name: Intel Core i7
  • Processor Speed: 4 GHz
  • Number of Processors: 1
  • Total Number of Cores: 4
  • Memory: 32 GB

Софтуер

  • Logic Pro X (10.7.4)

Плъгини-VST

# List
  • AME2
  • ARC
  • ARP 2600 V2 Efx
  • ARP 2600 V2
  • AVOX ARTICULATOR
  • AVOX ASPIRE
  • AVOX CHOIR
  • AVOX DUO
  • AVOX MUTATOR
  • AVOX PUNCH
  • AVOX SYBIL
  • AVOX THROAT
  • AVOX WARM
  • Addictive Drums
  • AmpliTube 3
  • Audiffex
  • AudioPort
  • Auto-Tune EFX
  • Auto-Tune_Evo_VST
  • BassStation
  • BassStationStereo
  • Battery 3
  • CamelCrusher
  • DC8C2
  • DC8C2 3
  • DX7 V
  • EZdrummer
  • EZkeys
  • EZmix
  • EZplayer
  • Effectrix
  • FinalPlug 5
  • Focusrite
  • Guitar Rig 5
  • Harmony EFX
  • Harmony Engine
  • Ivory (OS X)
  • Ivory
  • Jup-8 V3
  • Jupiter-8 V2
  • KORG
  • Keyscape
  • Kontakt 5 16out
  • Kontakt 5 8out
  • Kontakt 5
  • LinPlug
  • Loopcloud
  • MR Click
  • MR Gate
  • MR Hum
  • MR Noise
  • Master Restoration
  • MasterVerb 5
  • MidiMadness
  • Mini V2 Efx
  • Mini V2
  • MultiDynamics 5
  • NF VSTx64 Installer Folder
  • Oberheim SEM V
  • Omnisphere
  • Overloud
  • Panipulator
  • Panorama 5
  • PhilharmonikCE
  • Presets
  • Prophet V2
  • Prophet V3
  • RX 6 Connect
  • RX 6 De-click
  • RX 6 De-clip
  • RX 6 De-crackle
  • RX 6 De-ess
  • RX 6 De-hum
  • RX 6 De-plosive
  • RX 6 De-reverb
  • RX 6 Monitor
  • RX 6 Mouth De-click
  • RX 6 Spectral De-noise
  • RX 6 Voice De-noise
  • Rapture
  • Reaktor 6
  • Rob Papen
  • Runciter
  • SDRR
  • SPL
  • SPL Passeq Single
  • SPL Passeq
  • SampleTank2.x
  • Scarlett Compressor
  • Scarlett EQ
  • Scarlett Gate
  • Scarlett Reverb
  • Softube
  • Sonnox
  • StylusRMX
  • Superior Drummer
  • Sylenth1
  • TR5 Black 76
  • TR5 Brickwall Limiter
  • TR5 British Channel
  • TR5 Bus Compressor
  • TR5 CSR Hall
  • TR5 CSR Inverse
  • TR5 CSR Plate
  • TR5 CSR Room
  • TR5 Classic Clipper
  • TR5 Classic Comp
  • TR5 Classic EQ
  • TR5 Classic Multi Band Limiter
  • TR5 De Esser
  • TR5 Dyna-Mu
  • TR5 EQ-73
  • TR5 EQ-81
  • TR5 EQ-PA
  • TR5 EQ-PB
  • TR5 EQ-PG
  • TR5 EQP-1A
  • TR5 EQual
  • TR5 Leslie
  • TR5 Linear Phase EQ
  • TR5 Master EQ-432
  • TR5 Master Match
  • TR5 Metering
  • TR5 Mic Room
  • TR5 One
  • TR5 Opto Comp
  • TR5 Precision Comp-Limiter
  • TR5 Quad Compressor
  • TR5 Quad Image
  • TR5 Quad Limiter
  • TR5 Saturator X
  • TR5 Stealth Limiter
  • TR5 Suite
  • TR5 Tape Echo
  • TR5 VC-670
  • TR5 White 2A
  • TR5 White Channel
  • Trilian
  • Tube Saturator
  • Uhbik-A
  • Uhbik-D
  • Uhbik-F
  • Uhbik-G
  • Uhbik-P
  • Uhbik-Q
  • Uhbik-S
  • Uhbik-T
  • UltraChannel
  • Vandal
  • Vanguard
  • Waldorf
  • WaveShell-VST 9.7
  • WaveShell1-VST 9.92
  • relectro
  • u-he
  • wacvst

Плъгини-AU

# List
  • AME2
  • AMT Amp Leveling
  • AMT Max Warm
  • AMT Multi-Max
  • ARP 2600 V2 Efx
  • ARP 2600 V2
  • AURoundTripAAC
  • AVOX ARTICULATOR
  • AVOX ASPIRE
  • AVOX CHOIR
  • AVOX DUO
  • AVOX MUTATOR
  • AVOX PUNCH
  • AVOX SYBIL
  • AVOX THROAT
  • AVOX WARM
  • Acoustic Feedback
  • Active Equalizer
  • Addictive Drums
  • AiNetAudioUnit
  • Albino 3
  • AmpliTube 3
  • Analog Lab
  • AppleAES3Audio
  • Attack
  • Auto-Tune EFX
  • Auto-Tune_Evo_AU
  • BT Analog Chorus CH2S-3
  • BT Analog Phaser APH2S-3
  • BT Analog TrackBox
  • BT BrickWall BW2S-3
  • BT Compressor CP2S-3
  • BT Compressor FA770-3
  • BT DeEsser DS2S-3
  • BT Equalizer BQ2S-3
  • BT Equalizer BX2S-3
  • BT Equalizer GEQ12-3
  • BT Equalizer PEQ2B-3
  • BT Equalizer PEQ322-3
  • BT Equalizer PEQ5B-3
  • BT ExpanderGate GX622-3
  • BT Limiter LM2S-3
  • BT Oilcan Echo TLE2S-3
  • BT Stereo Imager ST2S-3
  • BT Tempo Delay DL3D-3
  • BT ValveDriver ADR2S-3
  • Bass Amp Room
  • BassStation
  • BassStationStereo
  • Battery 3
  • BazzISM2
  • BlueVerb DRV-2080
  • British MCL-2269
  • British NEQ-1972
  • bx_XL
  • bx_boom
  • bx_cleansweep V2
  • bx_control V2
  • bx_digital V2 Mono
  • bx_digital V2
  • bx_dynEQ V2 Mono
  • bx_dynEQ V2
  • bx_hybrid
  • bx_rockrack
  • bx_shredspread
  • bx_solo
  • COSMOS
  • CamelCrusher
  • D-Pole
  • DC8C2
  • DC8C2sc
  • DX7 V
  • Diva
  • E-3B Compressor
  • E-3B Maximizer
  • E-Channel
  • E-Compressor
  • E-Gate Expander
  • E-Graphic EQ
  • E-Maximizer
  • E-RetroVox
  • E-TubeTape Warmer
  • ECHOES
  • EQ 9063B AllTech
  • EZdrummer
  • EZkeys
  • EZmix
  • iZInsightAUHook
  • iZOzone7AUHook
  • iZOzone7DynamicEQAUHook
  • iZOzone7DynamicsAUHook
  • iZOzone7EqualizerAUHook
  • iZOzone7ExciterAUHook
  • iZOzone7ImagerAUHook
  • iZOzone7MaximizerAUHook
  • iZOzone7VintageCompressorAUHook
  • iZOzone7VintageEQAUHook
  • iZOzone7VintageLimiterAUHook
  • iZOzone7VintageTapeAUHook
  • iZRX6ConnectAUHook
  • iZRX6DeEsserAUHook
  • iZRX6DeclickerAUHook
  • iZRX6DeclipperAUHook
  • iZRX6DecracklerAUHook
  • iZRX6DeplosiveAUHook
  • iZRX6DereverbAUHook
  • iZRX6HumRemovalAUHook
  • iZRX6MonitorAUHook
  • iZRX6MouthDeclickAUHook
  • iZRX6SpectralDenoiserAUHook
  • iZRX6VoiceDenoiserAUHook
  • iZStutterEditAUHook
  • TR5 Opto Comp
  • TR5 Precision Comp-Limiter
  • TR5 Quad Compressor
  • TR5 Quad Image
  • TR5 Quad Limiter
  • TR5 Saturator X
  • TR5 Stealth Limiter
  • TR5 Suite
  • TR5 Tape Echo
  • TR5 VC-670
  • TR5 White 2A
  • TR5 White Channel
  • TT Dynamic Range Meter
  • Tonelux Tilt Live
  • Tonelux Tilt
  • Trident A-Range
  • Trilian
  • Tube Delay
  • Tube Saturator
  • Tube-Tech CL 1B
  • Tube-Tech PE 1C
  • spire
  • Uhbik
  • VC 160
  • VC 2A
  • VC 76
  • Valley People Dyna-mite
  • Vandal
  • Vanguard
  • Vintage Amp Room
  • WaveShell-AU 9.7
  • WaveShell1-AU 9.92
  • WhiteAmpDemo
  • Wormhole2 x64
  • Wormhole2
  • Z3TA+ 2
  • Zebra2
  • reFuse Lowender

Миксери / Ефекти

Миксери ——————-

Yamaha-124CX Линк към сайта на Yamaha

Scorpip

Vermona

Процесори

Ефекти

Ракове

Други

Озвучаване | Фронт

Монитори

Усилватели / Съпала

Озвучителни тела

Слушалки

Микрофони —————– Динамични ——— Статични ——–

Клавирни

This section is intended to provide guidance for anyone wanting to implement tools and applications that use ENS, or custom resolvers within ENS.

Акустични Свойства

Тест

Record type Function(s) ID Defined in
address addr 0x3b3b57de EIP137
Name name 0x691f3431 EIP181

Работни Станций

Основна Станция

Помощна станция

Ракове и шкафове

Рак 1

Рак 2

Струнни

Акустични китари

Електрически китари

Бас китари

Укалеле и др

ENS logo

Overview

  • Sex: Male
  • Born: 1985
  • City: Sofia [BUL]
  • Duty: Studio Tehnologies - Service: Picker/Accoustic
  • Duty: DevOps / CI|CD / System Administrator

System administrator with a wide breadth of experience in various OS, networking, datacenters, microservices and there orchestrations. I look forward and learning and working with last technologys in diffrent teams to help end customers to meet and exceed their needs. ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.

Architecture

ENS has two principal components: the registry, and resolvers.

The ENS registry consists of a single central contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:

  • The owner of the domain
  • The resolver for the domain
  • The time-to-live for all records under the domain

The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.

Owners of domains in the ENS registry may:

  • Set the resolver and TTL for the domain
  • Transfer ownership of the domain to another address
  • Change the ownership of subdomains

The ENS registry is deliberately straightforward, and exists only to map from a name to the resolver responsible for it.

Resolvers are responsible for the actual process of translating names into addresses. Any contract that implements the relevant standards may act as a resolver in ENS. General-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.

Each record type - Ethereum address, Swarm content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind. New record types may be defined at any time via the EIP standardisation process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.

Namehash

Names in ENS are represented as 32 byte hashes, rather than as plain text. This simplifies processing and storage, while permitting arbitrary length domain names, and preserves the privacy of names onchain. The algorithm used to translate domain names into hashes is called namehash. Namehash is defined in EIP137.

In order to preserve the hierarchal nature of names, namehash is defined recursively, making it possible to derive the hash of a subdomain from the hash of the parent domain and the name or hash of the subdomain.

Terminology

  • domain - the complete, human-readable form of a name; eg, ‘vitalik.wallet.eth’.
  • label - a single component of a domain; eg, ‘vitalik’, ‘wallet’, or ‘eth’. A label may not contain a period (‘.’).
  • label hash - the output of the keccak-256 function applied to a label; eg, keccak256(‘eth’) = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0.
  • node - the output of the namehash function, used to uniquely identify a name in ENS.

Algorithm

First, a domain is divided into labels by splitting on periods (‘.’). So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].

The namehash function is then defined recursively as follows:

namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))

A sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

ENS on Ethereum

ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.

ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010. Users may register names under two top level domains:

Resources

Удърни

Миди/MIDI

Аналогови

Акустични

Падовде

ENS logo

Overview

  • Sex: Male
  • Born: 1985
  • City: Sofia [BUL]
  • Duty: Studio Tehnologies - Service: Picker/Accoustic
  • Duty: DevOps / CI|CD / System Administrator

System administrator with a wide breadth of experience in various OS, networking, datacenters, microservices and there orchestrations. I look forward and learning and working with last technologys in diffrent teams to help end customers to meet and exceed their needs. ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.

Architecture

ENS has two principal components: the registry, and resolvers.

The ENS registry consists of a single central contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:

  • The owner of the domain
  • The resolver for the domain
  • The time-to-live for all records under the domain

The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.

Owners of domains in the ENS registry may:

  • Set the resolver and TTL for the domain
  • Transfer ownership of the domain to another address
  • Change the ownership of subdomains

The ENS registry is deliberately straightforward, and exists only to map from a name to the resolver responsible for it.

Resolvers are responsible for the actual process of translating names into addresses. Any contract that implements the relevant standards may act as a resolver in ENS. General-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.

Each record type - Ethereum address, Swarm content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind. New record types may be defined at any time via the EIP standardisation process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.

Namehash

Names in ENS are represented as 32 byte hashes, rather than as plain text. This simplifies processing and storage, while permitting arbitrary length domain names, and preserves the privacy of names onchain. The algorithm used to translate domain names into hashes is called namehash. Namehash is defined in EIP137.

In order to preserve the hierarchal nature of names, namehash is defined recursively, making it possible to derive the hash of a subdomain from the hash of the parent domain and the name or hash of the subdomain.

Terminology

  • domain - the complete, human-readable form of a name; eg, ‘vitalik.wallet.eth’.
  • label - a single component of a domain; eg, ‘vitalik’, ‘wallet’, or ‘eth’. A label may not contain a period (‘.’).
  • label hash - the output of the keccak-256 function applied to a label; eg, keccak256(‘eth’) = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0.
  • node - the output of the namehash function, used to uniquely identify a name in ENS.

Algorithm

First, a domain is divided into labels by splitting on periods (‘.’). So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].

The namehash function is then defined recursively as follows:

namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))

A sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

ENS on Ethereum

ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.

ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010. Users may register names under two top level domains:

Resources

Духови

Мелодики

Хармоники

Флейтови

Аналогови

Запис

Смесване

Прослушване, подготовка, определяне на параметри, изравняване, филтриране, процесиране с ефекти, онлайн миксиране.

ENS logo

Редактиране

Редактиране на звук, редактиране на аудио файлове, тайминг, синхронизация, реставриране на аудио записи Подготовка за запис, локация на инструмети и изпълнители, позициониране на микрофони, свързване и окабеляване, запис на терен

Мастериране

Баланс, компресиране, лимитиране, онлайн мастериране, финален мастеринг, творчество.

logo

Звуков дизайн

Аудио инженеринг, аудио колектинг, гласови и саунд ефекти, специални ефекти, ринг тонове, саунд брандиране.

ENS logo

Аудио продукция

Продукция на музикални албуми; продукция на аудио книги; аудио продукция за филми; Постпродукция (аудио и видео); аудио продукция за компютърни игри и приложения.

Музикална продукция

ENS logo

Композиране на оригинална музика; аранжиране; нотиране; оркестриране; адаптиране и алтериране.

Рекламна продукция

Аудио за рекламни аудио- и видеоклипове; аудио лога, аудио презентации, аудио рекламни спотове и джингли.

Дублажна продукция

Дублиране и озвучаване на всички езици (аудио и видео); адаптация (аудио, видео); превод, субтитриране и дублаж на филми.

CD/ DVD/ Vinyl производство

Репликиране, форматиране, графично оформление, отпечатване, тиражиране на CD/DVD/Vinyl.

Дигитализиране

Дублиране и конвертиране от/на аналогови и цифрови формати; създаване, управление и архивиране на записни сесии.

Миди/MIDI

ENS logo

Overview

  • Sex: Male
  • Born: 1985
  • City: Sofia [BUL]
  • Duty: Studio Tehnologies - Service: Picker/Accoustic
  • Duty: DevOps / CI|CD / System Administrator

System administrator with a wide breadth of experience in various OS, networking, datacenters, microservices and there orchestrations. I look forward and learning and working with last technologys in diffrent teams to help end customers to meet and exceed their needs. ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.

Architecture

ENS has two principal components: the registry, and resolvers.

  • The time-to-live for all records under the domain

Owners of domains in the ENS registry may:

  • Change the ownership of subdomains

TEST

Terminology

  • domain - the complete, human-readable form of a name; eg, ‘vitalik.wallet.eth’.
  • label - a single component of a domain; eg, ‘vitalik’, ‘wallet’, or ‘eth’. A label may not contain a period (‘.’).
  • label hash - the output of the keccak-256 function applied to a label; eg, keccak256(‘eth’) = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0.
  • node - the output of the namehash function, used to uniquely identify a name in ENS.

Algorithm

First, a domain is divided into labels by splitting on periods (‘.’). So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].

The namehash function is then defined recursively as follows:

namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))

A sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

ENS on Ethereum

ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.

ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010. Users may register names under two top level domains:

Resources

Акустични Факти

СТУДИО 1 СОФИЯ се помещава в мазе на жилищен блок 201. Заети са 2 помещения, като едното е за Апаратната а другото за сладова база.

Акустични Свойства

Тест

ПОМЕЩЕНИЕ ДЪЛЖИНА ШИРОЧИНА ВИСОЧИНА
Апаратна зала addr 0x3b3b57de EIP137
Складове name 0x691f3431 EIP181

Работни Станций

Основна Станция

Помощна станция

Ракове и шкафове

Рак 1

Рак 2

Работни Станций

MAC-OSX Базирани

DAW

Прослушване, подготовка, определяне на параметри, изравняване, филтриране, процесиране с ефекти, онлайн миксиране.

ENS logo

Вирт. Инструменти

Редактиране на звук, редактиране на аудио файлове, тайминг, синхронизация, реставриране на аудио записи Подготовка за запис, локация на инструмети и изпълнители, позициониране на микрофони, свързване и окабеляване, запис на терен

Интерфейси

Windows Базирани

DAW

Прослушване, подготовка, определяне на параметри, изравняване, филтриране, процесиране с ефекти, онлайн миксиране.
align:left

Вирт. Инструменти

Редактиране на звук, редактиране на аудио файлове, тайминг, синхронизация, реставриране на аудио записи Подготовка за запис, локация на инструмети и изпълнители, позициониране на микрофони, свързване и окабеляване, запис на терен

Интерфейси

Ракове / Шкафове

ENS logo

Ракове

  • Sex: Male
  • Born: 1985
  • City: Sofia [BUL]
  • Duty: Studio Tehnologies - Service: Picker/Accoustic
  • Duty: DevOps / CI|CD / System Administrator

System administrator with a wide breadth of experience in various OS, networking, datacenters, microservices and there orchestrations. I look forward and learning and working with last technologys in diffrent teams to help end customers to meet and exceed their needs. ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.

Шкафове

ENS has two principal components: the registry, and resolvers.

The ENS registry consists of a single central contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:

  • The owner of the domain
  • The resolver for the domain
  • The time-to-live for all records under the domain

The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.

Owners of domains in the ENS registry may:

  • Set the resolver and TTL for the domain
  • Transfer ownership of the domain to another address
  • Change the ownership of subdomains

The ENS registry is deliberately straightforward, and exists only to map from a name to the resolver responsible for it.

Resolvers are responsible for the actual process of translating names into addresses. Any contract that implements the relevant standards may act as a resolver in ENS. General-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.

Each record type - Ethereum address, Swarm content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind. New record types may be defined at any time via the EIP standardisation process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.

Самостоятелни Ефекти

Names in ENS are represented as 32 byte hashes, rather than as plain text. This simplifies processing and storage, while permitting arbitrary length domain names, and preserves the privacy of names onchain. The algorithm used to translate domain names into hashes is called namehash. Namehash is defined in EIP137.

In order to preserve the hierarchal nature of names, namehash is defined recursively, making it possible to derive the hash of a subdomain from the hash of the parent domain and the name or hash of the subdomain.

Terminology

  • domain - the complete, human-readable form of a name; eg, ‘vitalik.wallet.eth’.
  • label - a single component of a domain; eg, ‘vitalik’, ‘wallet’, or ‘eth’. A label may not contain a period (‘.’).
  • label hash - the output of the keccak-256 function applied to a label; eg, keccak256(‘eth’) = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0.
  • node - the output of the namehash function, used to uniquely identify a name in ENS.

Algorithm

First, a domain is divided into labels by splitting on periods (‘.’). So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].

The namehash function is then defined recursively as follows:

namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))

A sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

Разработени Ефекти

ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.

ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010. Users may register names under two top level domains:

Resources

Инжинери

Румен Лишков

  • Sex: Male
  • Born: 1985
  • City: Sofia [BUL]
  • Duty: Studio Tehnologies - Service: Picker/Accoustic
  • Duty: DevOps / CI|CD / System Administrator
ENS logo

System administrator with a wide breadth of experience in various OS, networking, datacenters, microservices and there orchestrations. I look forward and learning and working with last technologys in diffrent teams to help end customers to meet and exceed their needs. ENS is the Ethereum Name Service, a distributed, open, and extensible naming system based on the Ethereum blockchain.

Architecture

ENS has two principal components: the registry, and resolvers.

The ENS registry consists of a single central contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:

  • The owner of the domain
  • The resolver for the domain
  • The time-to-live for all records under the domain

The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.

Owners of domains in the ENS registry may:

  • Set the resolver and TTL for the domain
  • Transfer ownership of the domain to another address
  • Change the ownership of subdomains

The ENS registry is deliberately straightforward, and exists only to map from a name to the resolver responsible for it.

Resolvers are responsible for the actual process of translating names into addresses. Any contract that implements the relevant standards may act as a resolver in ENS. General-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.

Each record type - Ethereum address, Swarm content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind. New record types may be defined at any time via the EIP standardisation process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.

Namehash

Names in ENS are represented as 32 byte hashes, rather than as plain text. This simplifies processing and storage, while permitting arbitrary length domain names, and preserves the privacy of names onchain. The algorithm used to translate domain names into hashes is called namehash. Namehash is defined in EIP137.

In order to preserve the hierarchal nature of names, namehash is defined recursively, making it possible to derive the hash of a subdomain from the hash of the parent domain and the name or hash of the subdomain.

Terminology

  • domain - the complete, human-readable form of a name; eg, ‘vitalik.wallet.eth’.
  • label - a single component of a domain; eg, ‘vitalik’, ‘wallet’, or ‘eth’. A label may not contain a period (‘.’).
  • label hash - the output of the keccak-256 function applied to a label; eg, keccak256(‘eth’) = 0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0.
  • node - the output of the namehash function, used to uniquely identify a name in ENS.

Algorithm

First, a domain is divided into labels by splitting on periods (‘.’). So, ‘vitalik.wallet.eth’ becomes the list [‘vitalik’, ‘wallet’, ‘eth’].

The namehash function is then defined recursively as follows:

namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))

A sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))

ENS on Ethereum

ENS is deployed on mainnet at 0x314159265dd8dbb310642f98f50c066173c1259b, where users may register names under the eth TLD, which uses an auction based registrar.

ENS is also deployed on the Ropsten testnet at 0x112234455c3a32fd11230c42e7bccd4a84e02010. Users may register names under two top level domains:

Resources

Ръководства

EQ CAN BE USED FOR
-chanel INSER -group INSERT -MAIN OUT INSERT -MAIN INLINE

This user guide is intended for anyone wanting to register, configure, and update ENS names using a Javascript console and web3.js. Before starting, open up a geth console, download ensutils.js or ensutils-ropsten.js to your local machine, and import it into a running Ethereum console:

loadScript('/path/to/ensutils.js');

Registering a name with the FIFS registrar

The public ENS deployment on Ropsten uses a first-in-first served registrar for the ‘.test’ top level domain. Domains on this TLD are configured to expire, allowing anyone else to claim them, 28 days after registration.

ensutils.js defines an object testRegistrar, for interacting with the registrar for the .test TLD. If you want to interact with a different first-in-first-served registrar, you can instantiate it with:

var myRegistrar = fifsRegistrarContract.at(address);

Before registering, check that nobody owns the name you want to register:

new Date(testRegistrar.expiryTimes(web3.sha3('myname')).toNumber() * 1000)

If this line returns a date earlier than the current date, the name is available and you’re good to go.

The FIFS registrar’s interface is extremely simple, and exposes a method called register that you can call with the (hashed) name you want to register and the address you want to own the name. To register a name, simply call that method to send a registration transaction:

testRegistrar.register(web3.sha3('myname'), eth.accounts[0], {from: eth.accounts[0]});

Once this transaction is mined, assuming the name was not already assigned, it will be assigned to you, and you can proceed to Interacting with the ENS registry.

Registering a name with the auction registrar

Why are names registered as hashes?

Hashes are used for two main reasons. First, to prevent trivial enumeration of the entire set of domains, which helps preserve privacy of names (for instance, so you can register the domain for your startup before you publicly launch). Second, because hashes provide a fixed length identifier that can easily be passed around between contracts with fixed overhead and no issues around passing around variable-length strings.

Can I register a TLD of my own in the ENS?

What values will the permanent registrar try to optimize for?

This is something that the community will have to decide as part of the standardisation process for the permanent registrar. A few possible principles to consider include:

  • Accessibility: Registering a new name should be as easy and straightforward as possible.
  • Correct valuation: registering a known or popular name should be costly and intentional, not a matter of luck
  • Fairness: The system should not unduly favor people who happen to be in the right place at the right time.
  • Stability: Names should only be reallocated with the express will of the owner or according to objective rules that will be discussed and set with the whole community.
  • Principle of least surprise: Wherever possible, names should resolve to the resource most users would expect it to resolve to.

What kinds of behaviours are likely to result in losing ownership of a name?

This is the most important aspect to be decided on the Permanent registrar and the one we want more open debate. At minimum we want the owner of a name to have to execute some periodical transaction, just to prove that name hasn’t been abandoned or keys have been lost. This transaction would probably also require additional ether to be locked or burned. The method to which that amount is calculated is yet to be determined but would probably be dependent on some (but not necessarily all) of these factors:

  • The amount of ethers the domain was bought for originally
  • The average cost of a domain back when it was first bought
  • The average cost of a domain at the moment of renewal
  • The current market value of the domain (to be calculated with some auction method)
  • Other factors to be discussed

Just like the current model, this “fee” would not go to the Ethereum Foundation or any third party, but be locked or burned. Ideally, this financial (opportunity and liquidity) cost will make name squatting unprofitable – or at least make the name reselling market a dynamic and competitive one, focused on quick turnout and not on holding names long term for as much money as possible.

Another very possible option creating some sort of dispute resolution process for names, to ensure the “principle of least surprise” but this is a controversial idea and there are no clear ideas on how this process could be achieved in a fair way without risks of centralization and abuse of power.

Starting an auction

Before placing a bid, you need to check if the name is available. Run this code to check:

ethRegistrar.entries(web3.sha3('name'))[0];

If the returned value is 0, the name is available, and not currently up for auction. If the returned value is 1, the name is currently up for auction. If the returned value is 5, that means that the ‘soft launch’ is in effect, and your name isn’t yet available; you can check when it will be available for auction with:

new Date(ethRegistrar.getAllowedTime(web3.sha3('name')) * 1000);

Any other value from entries indicates the name is not available.

To start an auction for a name that’s not already up for auction, call startAuction:

ethRegistrar.startAuction(web3.sha3('name'), {from: eth.accounts[0], gas: 100000});

You can also start auctions for several names simultaneously, to disguise which name you’re actually interested in registering:

ethRegistrar.startAuctions([web3.sha3('decoy1'), web3.sha3('name'), web3.sha3('decoy2')], {from: eth.accounts[0], gas: 1000000});

Auctions normally run for 5 days: 3 days of bidding and 2 days of reveal phase. When initially deployed, there’s a “soft start” phase during which names are released for bidding gradually; this soft start lasts 4 weeks on ropsten, and 13 weeks on mainnet.

When a name is under auction, you can check the end time of the auction as follows:

new Date(ethRegistrar.entries(web3.sha3('name'))[2].toNumber() * 1000)

Placing a bid

Bids can be placed at any time during an auction except in the last 48 hours (the ‘reveal period’). Before trying to place a bid, make sure an auction is currently underway, as described above, and has more than 48 hours left to run.

To bid on an open auction, you need several pieces of data:

  • The name you want to register
  • The account you want to register the name under
  • The maximum amount you’re willing to pay for the name
  • A random ‘salt’ value

In addition, you need to decide how much Ether you want to deposit with the bid. This must be at least as much as the value of your bid, but can be more, in order to disguise the true value of the bid.

First, start by generating a secret value. An easy way to do this is to use random.org. Store this value somewhere secure - if you lose it, you lose your deposit, and your chance at winning the auction!

Now, you can generate your ‘sealed’ bid, with the following code:

var bid = ethRegistrar.shaBid(web3.sha3('name'), eth.accounts[0], web3.toWei(1, 'ether'), web3.sha3('secret'));

The arguments are, in order, the name you want to register, the account you want to register it under, your maximum bid, and the secret value you generated earlier. Note that the account must be one you’re able to send transactions from - you’ll be required to do so in the reveal step.

Next, submit your bid to the registrar:

ethRegistrar.newBid(bid, {from: eth.accounts[0], value: web3.toWei(2, 'ether'), gas: 500000});

In the example above, we’re sending 2 ether, even though our maximum bid is 1 ether; this is to disguise the true value of our bid. When we reveal our bid later, we will get the extra 1 ether back; the most we can pay for the name is 1 ether, as we specified when generating the bid.

Now it’s a matter of waiting until the reveal period before revealing your bid. Run the command to check the expiration date of the auction again, and make sure to come back in the final 48 hours of the auction:

new Date(ethRegistrar.entries(web3.sha3('name'))[2].toNumber() * 1000)

Revealing your bid

In order to win an auction, you must ‘reveal’ your bid. This can be done at any time after you place your bid, but it’s recommended you don’t do so until the last 48 hours, at which point new bids are prohibited. If you don’t reveal your bid by the time the auction ends, your deposit is forfeit - so make sure you store your salt in a safe place, and come back before the auction ends in order to reveal your bid.

To reveal, call the unsealBid function with the same values you provided earlier:

ethRegistrar.unsealBid(web3.sha3('name'), web3.toWei(1, 'ether'), web3.sha3('secret'), {from: eth.accounts[0], gas: 500000});

The arguments to unsealBid have the same order and meaning as those to shaBid, described in the bidding step, except that you don’t need to supply the account - it’s derived from your sending address.

After revealing your bid, the auction will be updated. If your bid is less than a previously revealed bid, you will be refunded the whole amount of your bid. If your bid is the largest revealed so far, you will be set as the current leading bidder, and the difference between the actual amount of your bid and the amount you sent will be refunded immediately. If you are later outbid, your bid will be sent back to you at that point.

At any time, you can check the current winning bidder with:

deedContract.at(ethRegistrar.entries(web3.sha3('name'))[1]).owner();

and the value of the current winning bid with

web3.fromWei(ethRegistrar.entries(web3.sha3('name'))[3], 'ether');

Finalizing the auction

Once the auction has completed, it must be finalized in order for the name to be assigned to the winning bidder. Any user can perform this step; to do it yourself, call the finalizeAuction function like so:

ethRegistrar.finalizeAuction(web3.sha3('name'), {from: eth.accounts[0], gas: 500000});

Once called, the winning bidder will be refunded the difference between their bid and the next highest bidder. If you’re the only bidder, you get back all but 0.1 eth of your bid. The winner is then assigned the name in ENS.

If you are the winning bidder, congratulations!

Interacting with the ENS registry

The ENS registry forms the central component of ENS, mapping from hashed names to resolvers, as well as the owners of the names and their TTL (caching time-to-live).

Before you can make any changes to the ENS registry, you need to control an account that has ownership of a name in ENS. To obtain an ENS name on the Ropsten testnet, see Registering a name with the auction registrar for ‘.eth’, or Registering a name with the FIFS registrar for ‘.test’. Names on ‘.test’ are temporary, and can be claimed by someone else 28 days later.

Alternately, you can obtain a subdomain from someone else who owns a domain. Note that while anyone can deploy their own ENS registry, those names will only be resolvable by users who reference that registry in their code.

Getting the owner of a name

You can retrieve the address of a name’s owner using the owner function:

> ens.owner(namehash('somename.eth'));
"0xa303ddc620aa7d1390baccc8a495508b183fab59"

Getting the resolver for a name

You can retrieve the address of a name’s resolver using the resolver function:

> ens.resolver(namehash('somename.eth'));
"0xc68de5b43c3d980b0c110a77a5f78d3c4c4d63b4"

Setting a name’s resolver

You can set the resolver contract for a name using setResolver:

> ens.setResolver(namehash('somename.eth'), resolverAddress, {from: eth.accounts[0]});

A resolver is any contract that implements the resolver interface implemented in EIP137. You can deploy your own resolver, or you can use a publicly available one; on the mainnet, a simple resolver that supports ‘address’ records and is usable by anyone is available; ensutils.js exposes it as publicResolver. To use it, first set it as the resolver for your name:

ens.setResolver(namehash('somename.eth'), publicResolver.address, {from: eth.accounts[0]});

Then, call the resolver’s setAddr method to set the address the name resolves to:

publicResolver.setAddr(namehash('somename.eth'), eth.accounts[0], {from: eth.accounts[0]})

The above example configures ‘somename.eth’ to resolve to the address of your primary account.

Transferring a name

You can transfer ownership of a name you control to someone else using setOwner:

> ens.setOwner(namehash('somename.eth'), newOwner, {from: eth.accounts[0]});

Creating a subdomain

You can assign ownership of subdomains of any name you own with the setSubnodeOwner function. For instance, to create a subdomain ‘foo.somename.eth’ and set yourself as the owner:

> ens.setSubnodeOwner(namehash('somename.eth'), web3.sha3('foo'), eth.accounts[0], {from: eth.accounts[0]});

Or, to assign someone else as the owner:

> ens.setSubnodeOwner(namehash('somename.eth'), web3.sha3('foo'), someAccount, {from: eth.accounts[0]});

Note the use of web3.sha3() instead of namehash() when specifying the subdomain being allocated.

The owner of a name can reassign ownership of subdomains at any time, even if they’re owned by someone else.

Resolving Names

Now you’re ready to resolve your newly created name. For details how, read Resolving ENS names.

Interacting with ENS from a DApp

An NPM module, ethereum-ens, is available to facilitate interacting with the ENS from Javascript-based DApps.

Interacting with ENS from a contract

The ENS registry interface provides a Solidity definition of the methods available for interacting with the ENS. Using this, and the address of the ENS registry, contracts can read and write the ENS registry directly.

A Solidity library to facilitate this will be available soon.

Resolving ENS names

This page describes how ENS name resolution works at the contract level. For convenient use in DApps, an NPM package, ethereum-ens is available which abstracts away much of the detail and makes name resolution a straightforward process.

Step by step

Get the node ID (namehash output) for the name you want to resolve:

var node = namehash('myname.eth');

Ask the ENS registry for the resolver responsible for that node:

var resolverAddress = ens.resolver(node);

Create an instance of a resolver contract at that address:

var resolver = resolverContract.at(resolverAddress);

Finally, ask the resolver what the address is:

resolver.addr(node);

Oneliner

This statement is equivalent to all of the above:

resolverContract.at(ens.resolver(namehash('myname.eth'))).addr(namehash('myname.eth'));

For convenience, ensutils.js provides a function, getAddr that does all of this for you with the default ENS registry:

getAddr('myname.eth')

Reverse name resolution

ENS also supports reverse resolution of Ethereum addresses. This allows an account (contract or external) to associate metadata with itself, such as its canonical name.

Reverse records are in the format <ethereum address>.addr.reverse - for instance, the official registry would have its reverse records at 314159265dd8dbb310642f98f50c066173c1259b.addr.reverse.

addr.reverse has a registrar with a claim function, which permits any account to take ownership of its reverse record in ENS. The claim function takes one argument, the Ethereum address that should own the reverse record.

This permits a very simple pattern for contracts that wish to delegate control of their reverse record to their creator; they simply need to add this function call to their constructor:

reverseRegistrar.claim(msg.sender)

Claiming your account

Call the claim function on the reverseRegistry object:

reverseRegistry.claim(eth.accounts[0], {from: eth.accounts[0]});

After that transaction is mined, the appropriate reverse record is now owned by your account, and, you can deploy a resolver and set records on it; see Interacting with the ENS registry for details.

Цени

Balance Sheet
Услуга Време Цена Инжинер
Travel   230.00 -230.00
Fees   400.00 -630.00
Grant 700.00   70.00
Train Fare   70.00 0.00

Vermona

Experimental support is available for hosting DNS domains on the Ethereum blockchain via ENS. This works by configuring the domain’s nameserver records to point to gateway DNS servers; these DNS servers resolve lookups by consulting an ENS registry which points to resolvers containing the zone data for the relevant domain.

The steps to host your own domain on the blockchain are:

  1. deploy your own ENS registry
  2. Deploy an instance of DNSResolver
  3. Update your ENS registry to set your newly deployed DNSResolver as the resolver for your domain name (eg, by calling setSubnodeOwner and setResolver; see Interacting with the ENS registry for details). Don’t forget to set the TTL on this record to a reasonable value, or your DNS data may not get cached.
  4. Write a zonefile. The zonefile must include an NS record for your domain that specifies the resolver as address.ns1.ens.domains, where address is the address of the ENS registry you deployed in step 1, without the leading ‘0x’. An example zonefile is available for reference.
  5. Clone and build ensdns. Start a local node, and run ‘ensdns upload –keystore=path/to/keystore zonefile’ to upload the zone to the blockchain.
  6. Update your NS records with your registrar to point to the name above (address.ns1.ens.domains).

Please note that this feature is still experimental, and shouldn’t be used for anything production critical; the DNS gateway is lightly tested, and only a single instance is running at present, providing no backup or failover in case of server issues. The API and configuration may change in backwards-incompatible ways, breaking your nameserver!

Услуги

Качественият звук е неизменна част от добрия аудио или видео продукт. Аудио услугите имат широко приложение в радиото (запис на терен, аудио рекламни спотове) и телевизията (аудио дублажи на чуждоезично съдържание, телевизионни реклами, запис на терен, музикално оформление, аудио за телевизионни лога и заставки), Kиноиндустрията(запис на терен, аудио ефекти, ADR, филмова музика), музикалния бизнес, рекламния бизнес (радио и ТВ реклами, ПР филми, аудио спотове за мултимедийно и интернет базирани рекламни приложения) , IT технологиите, е-образованието (аудио за обучителни инструкции за персонала или мултимедийни упътвания за експлоатация на продукти, внедряване употреба на технологии).

Аудио услуги

Balance Sheet
Услуга Време Цена Инжинер
Travel   230.00 -230.00
Fees   400.00 -630.00
Grant 700.00   70.00
Train Fare   70.00 0.00

Продукция

  • композиране на оригинална музика
  • запис и продукция на оригинална музика
  • аудио запис на терен на филмов и телевизионен звук
  • изработка на музикални аранжименти
  • продукция на аудио спотове за радио, телевизия и интернет; аудио реклама
  • дублаж на аудио спотове за тв реклами, филми, тв предавания, анимация
  • мултимедия и интернет аудио, аудио подкастове

Experimental support is available for hosting DNS domains on the Ethereum blockchain via ENS. This works by configuring the domain’s nameserver records to point to gateway DNS servers; these DNS servers resolve lookups by consulting an ENS registry which points to resolvers containing the zone data for the relevant domain.

Запис

The steps to host your own domain on the blockchain are:

  • запис и продукция на аудио книги
  • аудио за компютърни игри и приложения
  • аудио менюта за телефонни централи
  • аудио инструкции и аудио навигации ( IVR, GPS)
  • аудио лого и аудио презентации
  • аудио микс и аудио мастеринг
  • аудио лип синхронизация
  • аудио адаптация на филми
  • аудио адаптация на телевизионни сериали
  • аудио адаптация на реклами
  • аудио адаптация на анимационни серии
  1. deploy your own ENS registry
  2. Deploy an instance of DNSResolver
  3. Update your ENS registry to set your newly deployed DNSResolver as the resolver for your domain name (eg, by calling setSubnodeOwner and setResolver; see Interacting with the ENS registry for details). Don’t forget to set the TTL on this record to a reasonable value, or your DNS data may not get cached.
  4. Write a zonefile. The zonefile must include an NS record for your domain that specifies the resolver as address.ns1.ens.domains, where address is the address of the ENS registry you deployed in step 1, without the leading ‘0x’. An example zonefile is available for reference.
  5. Clone and build ensdns. Start a local node, and run ‘ensdns upload –keystore=path/to/keystore zonefile’ to upload the zone to the blockchain.
  6. Update your NS records with your registrar to point to the name above (address.ns1.ens.domains).

Редакция

„Студио 1 София” предлага комплексни аудио услуги на множество български и чужди компании. През годините студиото работи със световно известни имена от музикалната (Joe Lynn Turner, Billy Gould, Naughty by Nature, Cafe Del Mar), телевизионната и филмова индустрия (Warner Bros). Безспорно признание за качеството на работа не само за „Студио 1 София”, но и за България като цяло. Разполагаме с високо квалифициран екип и професионално аудио оборудване за звукозапис, продукция и пост-продукция, което постоянно се обновява, за да отговаря на световните аудио стандарти.

  • аудио адаптация на тв канали за българския пазар
  • реализация на рекламни аудио и видео клипове
  • музикално оформление за аудио и видео клипове
  • аудио сингбеци, аудио джингли
  • аудио ефекти за филми и реклами
  • аудио едитинг и аудио редакция на звук
  • реставриране на стари аудио записи
  • ISDN линия за мониторинг в реално време
  • CD/DVD оформление и тиражиране

Please note that this feature is still experimental, and shouldn’t be used for anything production critical; the DNS gateway is lightly tested, and only a single instance is running at present, providing no backup or failover in case of server issues. The API and configuration may change in backwards-incompatible ways, breaking your nameserver!

H1: document title

Note

Some note.

Warning

Module zipfile
Documentation of the zipfile standard module.*********

Sample H2

Another H2

Sample H3
Sample H4
Sample H5
Sample H6

And some text.

term 1
term 2
Definition of both terms.

term 1
term 2
Definition of both terms.

environment
A structure where information about all documents under the root is saved, and used for cross-referencing. The environment is pickled after the parsing stage, so that successive runs only need to read and parse new and changed documents.
source directory
The directory which, including its subdirectories, contains all source files for one Sphinx project.

LICENSE AGREEMENT


See also

Module zipfile
Documentation of the zipfile standard module.
GNU tar manual, Basic Tar Format
Documentation for tar archive files, including GNU tar extensions.